6

我正在使用 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 在将它传递给浏览器之前转换这个特定的依赖项,但我该怎么做呢?

谢谢

4

2 回答 2

1

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

于 2016-11-21T16:58:03.497 回答
-1

你目前是否在你的项目中包含Babel?我原以为它会像检查其他所有内容一样检查您的供应商目录并将 ES6 代码转换为 ES5。

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

于 2015-10-10T10:13:31.117 回答