我试图在浏览器中加载模块但我收到此错误:
Uncaught ReferenceError: require is not defined
我正在做的是在main.js中创建js并将其作为app.js发送到构建中
这是 gulpfile.js
var browserify = require('gulp-browserify');
...
gulp.task('scripts', function() {
gulp.src('src/scripts/main.js')
.pipe(browserify({
insertGlobals : true,
debug : !gulp.env.production
}))
.pipe(gulp.dest('build/js'))
});
...
gulp.task('default', ['clean', 'concat', 'uglify', 'scripts']);
我的 main.js
var fs = require('fs');
function getIt() {
var items = fs.readFileSync("../../data/data.json");
var jsonItems = JSON.parse(items);
console.log(jsonItems);
}
getIt();
如何在模板中完成此工作?
答案 0 :(得分:1)
如果您需要外部要求,则必须将require
属性设置为您传递给browserify
的选项对象上的文件名。这将使browserify
为您创建require函数,以便稍后可以在生成的脚本之外使用它。
...
.pipe(browserify({
insertGlobals : true,
require : ['src/scripts/main.js'],
debug : !gulp.env.production
}))
...