正如标题所述,我的内联 require 调用在未经优化的 requirejs 运行中工作,但在使用 grunt 和 almondjs 构建时不起作用。
Uncaught Error: undefined missing views/some/view
任何文件的顶部可能是:
define(
['jquery', 'app'],
function($, App) {
后来基于业务逻辑,我希望能够要求另一个文件。
require(['views/some/view'], function(SomeView){
console.log(SomeView);
});
我也尝试了备选的语法:
var SomeView= require('views/some/view');
即使使用未构建的requirejs版本,这一切都能正常运作。但是当我使用grunt和almond进行构建时,它又失败了。
requirejs: {
compile: {
options: {
name: "../components/almond/almond",
baseUrl: "src",
mainConfigFile: "./require.config.js",
include: ['main'],
insertRequire: ['main'], // Add a require step in at the end for the main module.
wrap: true, // Wrap everything up in a closure
generateSourceMaps: true, // Experimental
preserveLicenseComments: false, // Needs turned off for generateSourceMaps
optimize: "uglify2", // Supports generateSourceMaps
out: "assets/javascripts/build.js"
}
}
},
如果我在定义调用的顶部放置它,我可以在杏仁中很好地使它工作,但是在AMD中保持简洁不是更可取吗?