我正在尝试使用GruntJS优化RequireJS,使用grunt-contrib-requirejs插件。
问题是我的代码在优化之前运行得很好,然后在优化之后,在控制台上显示为Uncaught ReferenceError: define is not defined。
这是Gruntfile.js
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-contrib-requirejs');
grunt.initConfig({
requirejs: {
compile : {
options : {
name : 'main',
baseUrl : ".",
mainConfigFile : "./main.js",
out : "./optimized.js",
preserveLicenseComments: false
}
}
}
})
grunt.registerTask('default', 'requirejs');
}发布于 2013-03-09 17:13:35
由于define是一个requireJs函数,因此您似乎错过了加载requireJs或任何其他AMD加载器的过程。如果你不需要加载任何其他AMD模块,那么你只需编译一次,你可以使用像almond这样的轻量级加载程序垫片。
发布于 2013-12-14 11:24:18
将require.js文件添加为"include“选项应该可以。
requirejs: {
compile : {
options : {
name : 'main',
baseUrl : ".",
mainConfigFile : "./main.js",
out : "./optimized.js",
preserveLicenseComments: false,
include: ['path/to/require.js']
}
}
}发布于 2016-09-30 21:55:47
正如前面所指出的,需要的脚本是缺失的。
这是官方要求的页面建议你这样做的方式(摘自我的gruntfile文件):
requirejs: {
compile: {
options: {
baseUrl: "src/js",
mainConfigFile: 'src/js/require.config.js',
paths: {
requireLib: "vendor/require/require"
},
include: "requireLib",
name: "require.config",
out: "dist/js/bundle.js"
}
}
},注意到选项包括路径和,这两个选项对于定义require至关重要。你只需要在你需要的.js-文件中添加一个需要的file选项。
官方答案请看这里:http://requirejs.org/docs/optimization.html#onejs
https://stackoverflow.com/questions/15247048
复制相似问题