Ember创建组件时跳过.js文件,如何同时生成组件类与模板文件?
解决Ember组件生成时无法同时创建.js文件与模板的问题
嘿,这个问题我之前也碰到过!其实这是Ember在较新版本(3.13及以后)里的默认行为——它会默认生成仅模板组件(template-only component),也就是只创建.hbs模板文件,跳过空的.js组件类,因为很多简单组件根本不需要额外的JS逻辑。不过如果你确实需要同时生成组件类和模板,有几个简单的解决办法:
方法1:生成组件时添加参数一步到位
直接在生成命令里加上--with-component-class参数,这样就能一次性生成模板、组件类和测试文件:
ember generate component my-new --with-component-class
执行后你会看到输出里不再有skip app/components/my-new.js,而是create app/components/my-new.js,完美解决一步生成的需求。
方法2:修改全局配置,默认生成带类的组件
如果你希望以后所有的组件生成命令都默认创建组件类,可以修改项目根目录下的.ember-cli文件(如果没有就新建一个),添加如下配置:
{ "componentGenerateWithComponentClass": true }
之后再执行ember generate component my-new,就会自动同时生成.js和.hbs文件了。
方法3:事后补全组件类
如果已经生成了仅模板组件,也可以用系统提示的命令补全类:
ember generate component-class my-new
这会帮你创建对应的组件类文件,和已有的模板自动关联。
补充说明
Ember推出仅模板组件是为了减少不必要的空文件,让简单组件的开发更轻量化。但当你需要在组件里处理事件、使用生命周期钩子、定义计算属性时,就需要用到组件类,上面的方法都能满足你的需求~
内容的提问来源于stack exchange,提问作者Dhanabal
相关产品推荐
相关产品推荐

