![](/img/trans.png)
[英]Loading Mustache as AMD module with RequireJS - Mustache is not defined
[英]Typescript AMD external module loading, angular is not defined
我知道这个主题已经有一些类似的问题,但是它们都无济于事。 我想在使用requirejs和Typescript的项目中使用angular.js。
我有一个模块,在这里我使用angular来创建服务模块:
/// <reference path="../../../typings/angularjs/angular.d.ts" />
...
var services = angular.module('services', []);
...
export = services;
这段代码编译没有错误,但是在创建的js文件中,没有angular.js依赖项:
define(["require", "exports"], function(require, exports) {
...
}
当我运行该应用程序时,浏览器会抱怨:Uncaught ReferenceError:未定义角度
我的猜测是,除了引用它之外,我还应该以某种方式导入该角度,但是我尝试过的所有路径均无用。
这是我的require.js配置,以备不时之需:
require.config({
paths: {
angular: '../lib/angular/angular',
...
},
shim: {
angular : {exports : 'angular'},
...
}
)}
你能帮我吗,这里缺少什么? 谢谢。
使用参考注释时:
/// <reference path="../../../typings/angularjs/angular.d.ts" />
您告诉编译器“我将确保在运行时可以使用此依赖项”。
如果要加载模块,则需要使用导入...
import angular = require('angular');
零建立这样做的方式是将angular.d.ts
下一个文件到实际angular.js
文件,所以你在导入语句中指定的路径是相同的两种方式-否则,使用您需要的配置摆弄路径。
您是否尝试过将以下内容添加到文件顶部
/// <amd-dependency path="angular"/>
这应该使ts编译器将angular添加到定义列表中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.