要求未使用 gulp-browserify 定义

require not defined with gulp-browserify

我正在尝试在浏览器中加载模块,但出现此错误:

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();

我怎样才能在我的模板中使用它?

如果您需要外部需求,则必须在传递给 browserify 的选项对象上使用文件名设置 require 属性。这将使 browserify 为您创建 require 函数,以便您稍后可以在生成的脚本之外使用它。

 ...
 .pipe(browserify({
      insertGlobals : true,
      require : ['src/scripts/main.js'],
      debug : !gulp.env.production
    }))
  ...