【问题标题】:Simple RequireJS test not working简单的 RequireJS 测试不起作用
【发布时间】:2014-12-10 01:34:43
【问题描述】:

我是 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 以供以后使用呢?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2018-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-19
        • 2016-03-21
        • 2012-02-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多