简单的RequireJS测试不起作用

时间:2014-12-09 16:40:49

标签: javascript jquery angularjs requirejs angular-ui-bootstrap

我是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不能正确加载以供以后使用?

2 个答案:

答案 0 :(得分:1)

Shims或require config不会加载任何脚本。脚本会在您需要时加载。

答案 1 :(得分:1)

根据您在问题中显示的代码判断,您有一些旨在加载RequireJS的模块,即angularjquery。然后使用myUrl/ui-bootstrap-tpls.js元素加载script。据推测,此脚本应使用angular模块。 这不起作用。你应该通过给它一个垫片使ui-bootstrap-tpls与RequireJS兼容,就像你想用RequireJS加载的任何其他非AMD模块一样。然后,您必须通过调用require来启动实际加载,以告知必须加载哪个模块。

我还注意到你没有配置RequireJS来加载Bootstrap的JS代码。