将 DIR 更改为从 Yeoman 生成器本身新创建的 Yeoman 项目
change dir to newly created yeoman project from yeoman generator itself
我想将一个项目脚手架到同一个命名目录中,在生成器完成其工作后,我希望消费者被重定向到该文件夹。
所以我接受项目名称作为参数:this.argument('name', { type: String, required: false });
,然后创建该文件夹并更改destinationRoot
:
if (this.name) {
mkdirp(this.name);
this.destinationRoot(this.destinationPath(this.name));
}
毕竟,我想在runContext循环的最后阶段做一些cd this.name
。我试图将destinationRoot
更改为父目录,然后cd
到它,它应该可以工作,但它没有:
end: function () {
if (this.name) {
console.log('BEFORE', ls('.'))
this.destinationRoot('..');
console.log('AFTER', ls('.'))
cd(this.name);
}
},
这是日志:
BEFORE [ 'README.md', 'index.js', 'package.json', 'test.js' ]
AFTER [ 'meow' ]
但它不起作用,因为一旦 yeoman 完成它的工作,我仍然在 currrent 文件夹中,而不是在 meow
文件夹中。有人知道如何解决这个问题吗?
>Yeoman 不会更改用户的目录。
您可以使用process.chdir()
手动执行此操作
相关文章:
- 使用JSTree上下文菜单捕获新创建的节点
- 如何在新创建的模块中从Odoo v8中的Javascript文件中调用python函数
- 更新脚本以针对具有递增 ID 的新创建的表行运行
- 我应该在原型上还是在新创建的实例上调用构造函数方法
- 访问新创建的Facebook事件返回false
- 新创建的按钮(通过createElement(“button”))激活自身.如何阻止这种情况
- jQuery:如何将事件附加到类内新创建的元素
- 角度1:为新创建的对象添加新ID
- jQuery绑定ajax:成功地不在rails3app中为新创建的(ajax)项工作
- 如何设置新创建的 DOM 元素的 HTML 内容
- Chrome 扩展程序:如何将 HTML 附加到新创建的 Chrome 标签页
- 无法使用角度删除新创建的行.js
- 具有新创建的行的 Javascript tr 单击事件(更新 css)
- 为什么新创建的输入标签不会保留在页面上
- 单击时收听新创建的模型
- 如何在新选项卡中打开新创建的图像
- JS点击新创建的元素
- Jquery 点击事件不再绑定新创建的标签
- 添加.(“click”)函数到新创建的按钮,事件在点击前触发
- 将 DIR 更改为从 Yeoman 生成器本身新创建的 Yeoman 项目