所以,我使用 jagrunt-arection ,我构建了我的requirejs应用程序。幕后的JS。但是,在运行应用程序时,我每次都会得到它:

Uncaught Error: Module name "underscore" has not been loaded yet for context: _. Use require([])
http://requirejs.org/docs/errors.html#notloaded require-2.1.9.min.js:8
GET http://localhost:8080/resources/js/app/App.js 404 (Not Found) require-2.1.9.min.js:34
Uncaught Error: Script error for: app/App
http://requirejs.org/docs/errors.html#scripterror
.

我的“main”脚本位于app / main.js中,如下所示:

require(['common'], function() {
    'use strict';

    require(['app/App'], function(app) {
        app.start();
    });
});
.

然后是Grunt ured的构建选项:

requirejs: {
    options: {
        baseUrl: 'resources/js',
        dir: 'resources/js/build',
        main: 'app/Main',
        out: null,
        optimize: 'uglify2',
        skipDirOptimize: true,
        priority: ['common'],
        preserveLicenseComments: false,
        modules: [
            {
                name: 'common'
            },{
                name: 'app/Main',
                exclude: ['common'],
                include: ['app/App']
            }
        ],
        paths: { ... },
        shim: { ... }
    }
}
.

正如您所看到的,我已将App / app包含在App / main.js的构建中。

它可以单独加载main.js和common.js,如预期,但是它试图单独加载app / app.js。当我在Main.js的构建版本时,我看到App / app.js实际上内置了。

任何想法为什么尝试单独加载app / app.js?

有帮助吗?

解决方案

似乎,您忘记了构建配置中的findNestedDependencies : true选项,嵌套需要没有加载。看到它描述

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top