为什么 Browserify 只导出这些 jQuery 变量之一?

Why does Browserify only export one of these jQuery variables?

我的 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));                                                  
})

声明

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

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

您可以改用这个:

$ = jQuery = require('jquery');

$jQuery 定义为全局变量。