Ember 使用 coffescipt 导出/导入含义

Ember export / import meaning with coffescipt

我们有:

# app/components/my-component.coffee
`import Ember from 'ember'`

MyComponent = Ember.Component.extend
  tagName: 'div'

`export default MyComponent`

但在纯 js 中它将是

import Ember from 'ember';

export default Ember.Component.extend({
  tagName: 'div'
});

这 import/export 是关于什么的? MyComponent 的命名是否与文件相同,或者我可以使用任何命名的 var 代替它?如果我这样命名,我是否需要使用 import MyComponent

之所以这样,是因为 coffeescript 没有 es6 中 importexport 语句的语法。

ember-cli中每个文件都是一个es6模块。因此,您在模块中声明的任何变量都只会存在于那里。按照惯例,ember 应用程序中导出的组件的名称将是 MyComponent,因为文件名是 my-component.js

但在您的文件中,您也可以为该变量指定一个完全不同的名称。

如果您将此文件导入其他地方,您可以随意命名它,如下所示:

import Bananas from `components\my-component.js`

Bananas 现在将包含 defaultmy-component.js

导出的内容