使用 ES6 模块和 CoffeeScript 的首选方式

Posted

技术标签:

【中文标题】使用 ES6 模块和 CoffeeScript 的首选方式【英文标题】:Preferred way of working with ES6 modules and CoffeeScript 【发布时间】:2014-02-01 12:27:45 【问题描述】:

我一直在玩 ember-app-kit 项目,但遇到了 ES6 模块和 CoffeeScript 关键字的一些问题。

我所说的 javascript 的一个例子是:

import Resolver from 'resolver';

export default App;

我已经能够绕过coffeescript编译器错误,通过“export”和“import”用'`'反引号转义行。

我对如何像这样逃避 js 感到困惑:

export default Ember.Component.extend(
  classNames: ['pretty-color'],
  attributeBindings: ['style'],
  style: function()
    return 'color: ' + this.get('name') + ';';
  .property('name')
);

有人知道是否有使用 CoffeeScript 和 ES6 模块的首选方式吗?

【问题讨论】:

【参考方案1】:

您可以将组件分配给 var,然后转义此 var 的导出。像这样:

MyComponent = Ember.Component.extend
  classNames: ['pretty-color']
  attributeBindings: ['style']
  style: (->
    "color: #@get('name');"
  ).property('name')

`export default MyComponent`

【讨论】:

谢谢,成功了。我不太关心语法,但我认为除了停止使用 CoffeeScript + ES6 模块之外,没有什么可以做的。 谢谢,它成功了,但仍然期待更优雅的解决方案

以上是关于使用 ES6 模块和 CoffeeScript 的首选方式的主要内容,如果未能解决你的问题,请参考以下文章

通过 CoffeeScript 和 Browserify 使用 ES6 导入

如何将 jest 与 coffeescript 和 ES6/ES2015 一起使用(例如通过 Babel)?

用ES6代替CoffeeScript

在编译字符串插值实例时,Coffeescript是否始终使用ES6模板文字?

从coffeeScript迁移到ES6

带有(ES6)类和继承的Angular.js DI