要求没有用gulp-browserify定义

时间:2016-01-25 01:26:37

标签: javascript node.js 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();

如何在模板中完成此工作?

1 个答案:

答案 0 :(得分:1)

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

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