Ember应用程序可以使用作为传递依赖项安装的插件吗?我有一个本地Ember插件,在np.core.defchararray.strip(a, '()').astype(int)
中将ember-angle-bracket-invocation-polyfill
列为dependency
。当我使用package.json
将插件安装到Ember应用程序中时,无法使用ember install path/to/addon
。任何帮助表示赞赏!
答案 0 :(得分:0)
插件可以在其安装过程中添加依赖项。这通常在default blueprint中完成。默认蓝图是与插件名称完全相同的蓝图。它会在ember-cli安装插件后自动运行。这是ember install <addon-name>
应该安装插件的主要原因,而不仅仅是使用npm或yarn作为依赖项添加插件。
Ember-cli根据其类型提供different methods to add a dependency。由于ember-angle-bracket-invocation-polyfill
是余烬插件,因此您的情况应使用addAddonsToProject()
。它期望一个对象具有一个数组,该数组的键名在packages
下。
在您的示例中,蓝图如下所示:
// blueprints/your-addon-name/index.js
module.exports = {
normalizeEntityName() {}, // no-op since we're just adding dependencies
afterInstall() {
// Add addons to package.json and run defaultBlueprint
return this.addAddonsToProject({
// a packages array defines the addons to install
packages: [
// name is the addon name, and target (optional) is the version
{name: 'ember-angle-bracket-invocation-polyfill'}
]
});
}
};