我正在使用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在将此特定依赖项传递给浏览器之前将其转换,但我该怎么做呢?
由于
答案 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。不一定是理想的,但如果它是一个静态文件,那么你需要做一次然后忘掉它。