2017-10-16 48 views
0

使用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文档更好。

任何帮助是赞赏

回答

1

只是pipe到标准文件流

const browserify = require('browserify'); 
const fs = require('fs'); 

browserify() 
    .add('./src/index.js') 
    .bundle() 
    .pipe(fs.createWriteStream('./lib/bundle.js')); 
0

如果你碰巧使用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/ 
});