当我ember g component foo-bar
在 Ember Addon 项目中运行时(比如说addon-project
),它会生成以下内容:
// addon-project/addon/components/foo-bar.js
import Ember from 'ember';
import layout from '../templates/components/foo-bar';
export default Ember.Component.extend({
layout
}
// addon-project/addon/templates/components/foo-bar.hbs
{{yield}}
// addon-project/app/components/foo-bar.js
export { default } from 'addon-project/components/foo-bar';
我注意到它不会生成addon-project/app/templates/components/foo-bar.js
导出组件模板,而是使用layout
.
为什么不生成addon-project/app/templates/components/foo-bar.js
?这种行为有原因吗?
另外为什么layout
使用相对路径而不是绝对路径导入(即import layout from 'addon-project/templates/components/foo-bar
?