为什么Browserify只导出其中一个jQuery变量?

时间:2015-03-29 14:21:00

标签: javascript gulp browserify

我的Browserify捆绑的入口点文件只包含一行:

var $ = jQuery = require('jquery');

为什么这只会将jQuery作为变量导出到全局范围,而不是$导出jQuery

我使用Gulp进行浏览器化 - 这是我的gulpfile中的相应代码:

/** Vendor compilation */                                                               
.task('vendor', ['clean'], function() {  
  // package.paths.vendor is my one line file referenced above                                               
  var b = browserify(package.paths.vendor);                                             
  getBowerPackageIds().forEach(function (id) {                                          

    var resolvedPath = bowerResolve.fastReadSync(id);                                   

    b.require(resolvedPath, {                                                           

      // exposes the package id, so that we can require() from our code.                
      // for eg:                                                                        
      // require('./vendor/angular/angular.js', {expose: 'angular'}) enables require('angular');
      // for more information: https://github.com/substack/node-browserify#brequirefile-opts
      expose: id

    });
  });                                                                                   
  return b                                                                              
  .bundle()                                                                             
  .pipe(source(package.dest.vendor))                                                    
  .pipe(gulp.dest(package.dest.dist));                                                  
})

1 个答案:

答案 0 :(得分:1)

声明

var $ = jQuery = require('jquery');

定义了一个局部变量$和一个全局变量jQuery

你可以改用它:

$ = jQuery = require('jquery');

$jQuery定义为全局。