小编eti*_*oel的帖子

在Ember-cli项目中使用ES6库

我有一个使用Ember-Cli的小型EmberJS应用程序.我的应用程序有一个私人ES6库,它是一个bower依赖.基本上,我想要的是导入库并在任何我想要的地方使用它.

如果我没有错,我应该在我的文库中进行翻译,brocfile.js然后再使用它.不幸的是,我无法提供太多具体信息,但我会尽力让自己更清楚.

我的外部库已命名,main-lib并按以下方式构建(它在另一个项目中工作):

  • bower_components
    • 主LIB
      • api.js
      • main.js
      • message.js

在main.js文件中,我有以下内容:

import Api from 'main/api';
import Message from 'main/message';

var main = {};

main.api = Api;
main.message = Message;

export default main;
Run Code Online (Sandbox Code Playgroud)

所以,我想要做的是,在我的应用程序中,导入main和使用它包含的不同功能.

例如,在某个emberjs控制器中:

import Main from 'main';

//use Main here
Run Code Online (Sandbox Code Playgroud)

为此,我想在brocfile.js中执行以下操作

var tree = 'bower_components/main-lib';
var ES6Modules = require('broccoli-es6modules');
var amdFiles = new ES6Modules(tree, {
  format: 'amd',
  bundleOptions: {
    entry: 'main.js',
    name: 'mainLib'
  }
});
Run Code Online (Sandbox Code Playgroud)

但是,这没有任何作用.基本上,我希望将转换后的文件包含在vendor.js我可以通过导入它来使用库的地方或某个地方.

我在这里缺少一些东西,但我无法确定它.

Edit1:在我的brocfile.js末尾添加这些行之后:

mergeTrees = require('broccoli-merge-trees')

module.exports …
Run Code Online (Sandbox Code Playgroud)

javascript ember.js

20
推荐指数
1
解决办法
744
查看次数

标签 统计

ember.js ×1

javascript ×1