如何使用browserify包含非节点模块

我想在应用程序中使用依赖pipe理,并碰到require.js和browserify。 我无法决定哪一个去。

这将是一个决定性的因素,如果任何人可以告诉我如何可以包括自定义的JavaScript模块(非节点模块)到我的JS。 我看到browserify很容易包含节点模块。

假设我们想要将以下function封装到模块中:

sayHelloInEnglish = function() { return "Hello"; }; 

然后我们创build文件greetings.js

 module.exports = { sayHelloInEnglish: function() { return "Hello"; } }; 

然后我们要在另一个模块中使用问候模块,例如。 在我们的main.js文件中:

 var greetings = require("./greetings.js"); greetings.sayHelloInEnglish(); 

这就是我们如何声明依赖关系。

除此之外,我们还需要一个构build过程,所以我们的JS代码可以在浏览器中运行。 为此,我select了gulp.jsstream式生成系统。 然后,你需要的是创build一个这样的任务:

 gulp.task('browserify', function () { gulp.src('main.js') .pipe(browserify()) .pipe(concat('main.js')) .pipe(gulp.dest('dist/js')); }); 

该任务将加载main.js的所有依赖关系,将其包含在main.js主体之前,然后将其作为新文件一起保存到“dist / js”或任意目标中。

您可以使用当前命令(这是将您的模块保存到新variables中)包含您自定义的JavaScript模块:

 greatestModuleEver = require('./your_module.js');