ember.js - ember-addon - afterInstall 挂钩不会更新我的 ember 应用程序 package.json
问题描述
我试图创建一个使用蓝图 afterInstall
挂钩的 Ember 插件。
我已阅读https://cli.emberjs.com/release/writing-addons/addon-blueprints/
我的插件叫做hello-world
.
我生成了我的插件蓝图 ember generate blueprint hello-world
。
我现在有一个blueprint/hello-world/index.js
文件。
'use strict';
module.exports = {
description: 'This is my blueprint',
afterInstall(options) {
console.log('hello');
return this.addPackagesToProject([
{ name: 'lodash' }
]);
}
};
我怎么能测试afterInstall
钩子被调用?
我的 Ember 插件正在开发中(尚未发布),我尝试 npm link
在我的 Ember 插件目录和 npm link hello-world
我的 Ember 应用程序中使用。这会在我的 Ember 应用程序 node_modules 中创建一个符号链接,以指向我的 hello-world Ember 插件,但它不会触发 afterInstall
钩子。
我的 Ember 应用程序 package.json 没有lodash
在依赖项或 devDependencies 中获得条目。
我的 Ember 应用程序 package.json 的一部分
"devDependencies": {
...
"hello-world": "*"
...
}
运行npm install --offline
似乎不会触发蓝图钩子。
解决方案
Ember 插件通常使用命令安装ember install addon_name
。此功能本质上是以下各项的组合:
npm install addon_name
ember generate addon_name
所以在你npm link
的插件之后,进入消费项目并生成你的插件的默认蓝图ember generate addon_name
推荐阅读
- database - 在access中创建父子数据录入表单
- r - R - 如何获得 2 个阶跃函数的差值/总和?
- elasticsearch - Cloudwatch 到 Elasticsearch 在推送到 ES 之前解析/标记日志事件
- java - 使用 Java 解析器在 XML 属性中保留 /t 和 /n
- c - 在C中的字符串中返回置换
- sql - 多对多?
- javascript - 在html页面中编写javascript出现在页面中
- android - 如何在 Android Test 接口中对静态方法进行单元测试?
- rollup - 使用汇总 js 将多个 es6 类组合成单个库
- python - Tensorflow 图像分割权重未更新