指定要-o
为browserify
问题描述:
使用CLI定制输出文件的路径,设定值来指定输出文件路径(束)指定要<code>-o</code>为browserify
node node_modules/browserify/bin/cmd src/index -o lib/bundle.js
在上面的例子中,输出文件路径为./lib/bundle.js
。
不过,我不希望使用CLI,我想用JS SDK:
const browserify = require('browserify');
const b = browserify();
b.add('./src/index.js');
b.bundle(/* Where to specify the output filepath, is it here */)
.pipe(/* or here*/)
我的头将打破因为这个库。坦率地说,webpack文档更好。
任何帮助是赞赏
答
只是pipe
到标准文件流
const browserify = require('browserify');
const fs = require('fs');
browserify()
.add('./src/index.js')
.bundle()
.pipe(fs.createWriteStream('./lib/bundle.js'));
答
如果你碰巧使用Gulp构建系统,你也可以像这样做。
(非常感谢Dan Tello的article,这帮助我在自己的环境中实现这一目标!)。
该方法利用另一个节点模块vinyl-source-stream的帮助。通过使用此辅助模块,您不依赖于已弃用的gulp-browserify包 - 您可以使用最新的vanilla browserify包。
var gulp = require('gulp');
// add in browserify module to bundle the JS
// We can use this directly instead of 'gulp-browserify' with help
// from 'vinyl-source-stream'
var browserify = require('browserify');
// Add in vinyl-source-stream to help link browserify and gulp streams
var source = require('vinyl-source-stream');
gulp.task('browserify',() => {
return browserify('./js/main.js') // source to compile
.bundle() // compile it...
.pipe(source('popup.js')) // pipe to output file
.pipe(gulp.dest('./js/')); // put output back into ./js/
});