如何使用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');