search

Home  >  Q&A  >  body text

javascript - 怎么让 Browserify 编译时不打包指定文件

问题是这样的,我写了个模块A.js:

if (typeof module === "object" && typeof module.exports === "object") {
   module.exports.demo = 123;
}

我在main.js里引入了A模块

var a = require("A");

此时编译Browserify会将main.js和A.js打包在一起,但我希望编译时不把A.js算在内,而是这样引用:

<script src="A.js"></script>
<script src="browserify编译后的js"></script>

那该如何做呢

怪我咯怪我咯2902 days ago272

reply all(2)I'll reply

  • PHPz

    PHPz2017-04-10 15:16:28

    browserify -r ./A.js -o static/A.js
    browserify main.js -o static/main.js -x ./A.js
    

    -r--require,即表示打包成一个require 文件,-x--external 表示不打包这个文件到static/main.js中,而是从外部文件中加载这个依赖。

    HTML 中写:

    <script src="static/A.js"></script>
    <script src="static/main.js"></script>
    

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 15:16:28

    var gulp = require("gulp");
    var gutil = require("gulp-util");
    var source = require('vinyl-source-stream');
    
    var browserify = require("browserify");
    var babelify = require("babelify");
    var browserifyShim = require("browserify-shim");
    
    gulp.task("mytask",function(){
        return browserify()
            .add('./src/Main.js')
            .transform(babelify)
            .transform(browserifyShim,{
                shim:{
                    react:"global:React"
                }
            })
            .bundle()
            .pipe(source('./main.js'))
            .pipe(gulp.dest('./dist/js/'));
    });

    https://github.com/thlorenz/browserify-shim/pull/195

    reply
    0
  • Cancelreply