Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 使用附加树在ember cli构建中正确传输文件_Ember.js_Ember Cli_Ecmascript 6_Babeljs_Broccolijs - Fatal编程技术网

Ember.js 使用附加树在ember cli构建中正确传输文件

Ember.js 使用附加树在ember cli构建中正确传输文件,ember.js,ember-cli,ecmascript-6,babeljs,broccolijs,Ember.js,Ember Cli,Ecmascript 6,Babeljs,Broccolijs,我的项目中有一些文件,我想从普通的应用程序树中删除,并且只在某些情况下加载。目前,我使用西兰花炖菜来移动文件,并使用西兰花巴贝尔transpiler来传输目标文件。但是,当我这样做时,我在导入的文件上会有一个额外的默认对象 此代码被添加到顶部 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _Ember = _interop

我的项目中有一些文件,我想从普通的应用程序树中删除,并且只在某些情况下加载。目前,我使用
西兰花炖菜
来移动文件,并使用
西兰花巴贝尔transpiler
来传输目标文件。但是,当我这样做时,我在导入的文件上会有一个额外的
默认
对象

此代码被添加到顶部

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }

var _Ember = _interopRequireDefault(_ember);
这使得我不得不将对ember的引用写成
ember[“default”]。Object
等不希望在源文件中有任何使其他开发人员难以理解的奇怪引用

这是我当前的
ember cli build.js
文件

/* global require, module */
var stew = require('broccoli-stew');
var esTranspiler = require('broccoli-babel-transpiler');
var EmberApp = require('ember-cli/lib/broccoli/ember-app');

module.exports = function(defaults) {
  var app = new EmberApp(defaults, {
    storeConfigInMeta: false
  });

  var additionalTrees = [];
  var appTree = app.appAndDependencies();

  if (EmberApp.env() !== "production") {
    var jQuery = stew.find(appTree, "bower_components/jquery/dist/jquery.min.js");
    jQuery = stew.mv(jQuery, "bower_components/jquery/dist/jquery.min.js", "assets/jquery.js");

    additionalTrees.push(jQuery);
  }

  function extractRouter(fileName) {
    var router = stew.find(appTree, 'mobile-web/'+ fileName + '.js');
    router = esTranspiler(router, {
      modules: "amd",
      moduleIds: true,
      moduleId: "mobile-web/router"
    });
    router = stew.mv(router, 'mobile-web/'+ fileName + '.js', 'assets/'+ fileName + '.js');
    additionalTrees.push(router);
  }

  extractRouter('router');
  extractRouter('secure-router');

  return app.toTree(additionalTrees);
};

请尝试将您的
电子传送器配置为使用
模块:“amdStrict”

它类似于中所述的
“commonStrict”
。源代码中存在
amdScrict


我认为这在
babel v5
中是有效的。文档链接已过时,但代码链接可用于
router = esTranspiler(router, {
  modules: "amdStrict",// here
  moduleIds: true,
  moduleId: "mobile-web/router"
});