如何从vendorFiles中排除jQuery?

kiw*_*ver 1 ember.js ember-cli

在我的应用程序中,我将EmberJS添加到已加载jQuery的页面中.所以我不需要ember-cli来包含jQuery.

Mic*_*man 8

ember-cli构建步骤添加了jQuery硬编码,但您可以通过配置覆盖它.我不确定这是否有记录,但您可以查看node_modules/ember-cli/lib/broccoli/ember-app.js

  this.vendorFiles = merge(options.vendorFiles, {
    'loader.js': this.bowerDirectory + '/loader/loader.js',
    'jquery.js': this.bowerDirectory + '/jquery/dist/jquery.js',
    'handlebars.js': {
      development: this.bowerDirectory + '/handlebars/handlebars.js',
      production:  this.bowerDirectory + '/handlebars/handlebars.runtime.js'
    } /* etc, etc, */
  }
Run Code Online (Sandbox Code Playgroud)

options 是传递给你的EmberApp的新实例的哈希 Brocfile.js

代替,

  var EmberApp = require('ember-cli/lib/broccoli/ember-app');
  var app = new EmberApp({});
Run Code Online (Sandbox Code Playgroud)

传递存根文件的位置(vendor/为此使用目录),

  var EmberApp = require('ember-cli/lib/broccoli/ember-app');
  var app = new EmberApp({
      vendorFiles : {
          'jquery.js': 'vendor/stub.js'
      }
  });
Run Code Online (Sandbox Code Playgroud)

此存根将优先于硬编码的jQuery路径.只需确保在加载ember应用程序之前加载jQuery.