当我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?