我是RequireJS的新手并测试了一些东西让我的脚湿透了。我试图在Angular基础上加载,然后在Angular UI Bootstrap中手动调用。但是,当我这样做时,UI Bootstrap抱怨angular is not defined
,这意味着我从Require的加载似乎没有正确设置。
我的文件夹结构:
app
|js
|main.js
|index.html
基本HTML:
<script type="text/javascript" src="myUrl/requirejs" data-main="js/main.js"></script>
<script src="myUrl/ui-bootstrap-tpls.js"></script>
Main.js:
require.config({
paths : {
'angular' : 'myUrl/1.3.4/angular.min.js',
'jquery' : 'myUrl/2.1.1/jquery.min.js',
},
shim : {
'angular' : {
exports : 'angular',
deps: ["jquery"]
}
}
});
那么为什么Angular不能正确加载以供以后使用?
答案 0 :(得分:1)
Shims或require config不会加载任何脚本。脚本会在您需要时加载。
答案 1 :(得分:1)
根据您在问题中显示的代码判断,您有一些旨在加载RequireJS的模块,即angular
和jquery
。然后使用myUrl/ui-bootstrap-tpls.js
元素加载script
。据推测,此脚本应使用angular
模块。 这不起作用。你应该通过给它一个垫片使ui-bootstrap-tpls
与RequireJS兼容,就像你想用RequireJS加载的任何其他非AMD模块一样。然后,您必须通过调用require
来启动实际加载,以告知必须加载哪个模块。
我还注意到你没有配置RequireJS来加载Bootstrap的JS代码。