【问题标题】:Is there a way to use browserify-shim without package.json?有没有办法在没有 package.json 的情况下使用 browserify-shim?
【发布时间】:2015-03-23 23:53:48
【问题描述】:

我需要为我的一些 browserify 依赖项使用 browserify-shim,但我无法编辑我的 package.json。我在 gulp 中使用 browserify。是否可以仅从 API 中指定所有 package.json 部分?我正在设想这样的事情:

return gulp.src('glob/path/to/my/main/js/file.js')
    .pipe(browserify({
        debug: false,
        transform: ['browserify-shim'],
        shim: {
            'jquery': {
                exports: 'jQuery'
            }
        }
    }));

然后,我的输出将 var $ = require('jquery'); 替换为 var $ = jQuery;,因为我们现在将 jQuery 用作全局。这可能吗?什么时候

【问题讨论】:

    标签: gulp browserify browserify-shim


    【解决方案1】:

    在这种情况下,您可以使用 exposify 转换。 browserify-shim 实际上是 based on it 并且是由同一个人编写的。

    例如:

    return browserify('glob/path/to/my/main/js/file.js', { debug: false })
        .transform('exposify', { expose: {'jquery': 'jQuery' }})
    

    【讨论】:

      【解决方案2】:

      gulpfile.js

      gulp       = require('gulp')
      browserify = require('gulp-browserify')
      
      gulp.task('browserify', function(){
          var src = 'test.js'
      
          gulp.src(src)
              .pipe(browserify({
                  shim: {
                      jQuery: {
                          path: './bowser_components/jquery/dist/jquery.min.js',
                          exports: '$'
                      }
                  }
              }))
              .pipe(gulp.dest('./build/js'))
      })
      

      test.js

      $ = require('jQuery')
      
      console.log($);
      

      【讨论】:

      • 目前使用gulp-browserify 被认为是一个动作(github.com/deepak1556/…)。它被列入黑名单
      • 我同意@KolyaAy,gulp-browserify 现在被视为列入黑名单且不受支持。答案需要更新。
      猜你喜欢
      • 1970-01-01
      • 2016-01-10
      • 2016-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-28
      相关资源
      最近更新 更多