Ember Cli - 在ember-cli-build中映射供应商ES6依赖?

时间:2015-10-09 19:31:28

标签: ember.js ember-cli transpiler

我正在使用Ember Cli编写Ember.js应用程序,我希望包含一个非bower依赖项 - 基本上是我vendor文件夹中的依赖项。

这样做的说明告诉我将以下行添加到我的ember-cli-build.js文件中:

app.import('vendor/dependency-to-include.js');

对于正常的ES5风格的依赖项,这样可以正常工作,但是如果我想添加用ES6编写的依赖项呢?

现在它只是将它传递给浏览器,这会产生如下错误:

Uncaught SyntaxError: Unexpected reserved word

因为我的ES6风格的依赖项使用以下语法:

import Util from './util

我猜测我需要告诉ember-cli-build在将此特定依赖项传递给浏览器之前将其转换,但我该怎么做呢?

由于

2 个答案:

答案 0 :(得分:1)

要转换导入的依赖项,您需要通过broccoli addon broccoli-babel-transpiler运行导入的文件。有关基本示例,请检查此文件:https://github.com/thefrontside/ember-impagination/blob/2fa38d26ef1b27a3db7df109faa872db243e5e4c/index.js。您可以将此插件调整为项目的in-repo addon。 有关背景讨论,请参阅此链接;有关实际修复,请参阅@rwjblue和@cowboyd:https://github.com/ember-cli/ember-cli/issues/2949

答案 1 :(得分:-1)

您目前是否在项目中加入了Babel?我原以为它会检查您的供应商目录与其他所有内容相同,并将ES6代码转换为ES5。

另一种选择是在需要包含带有ES6语法的供应商文件时手动将文件转换为ES5。不一定是理想的,但如果它是一个静态文件,那么你需要做一次然后忘掉它。