冲突安全追加到约曼生成器中的现有文件
Conflict Safe Append to Existing File in Yeoman Generator
我正在为我正在从事的Django/Angular项目编写一个yeoman生成器。项目中样板的很大一部分涉及管理依赖项。为了使这种依赖关系管理更容易,我将某些文件本质上视为定义特定包导出或导入内容的头文件。例如,当我在my_app/models/
包中创建新文件my_model.py
时,我想将行from .my_model import MyModel
附加到my_app/models/__init__.py
由于这只是一个简单的附加,并不特别依赖于__init__.py
文件其余部分的内容,因此我认为这是一个非常安全的文件更新。我的问题是,从开发的角度来看,是否有办法将 yeoman 中的特定文件更新标记为安全,从而允许用户在运行生成器的冲突解决阶段不必注销它们。
目前我执行追加的方式是这样的:
var self = this;
this.fs.copy(
this.destinationPath(this.props.appName + '/models/__init__.py'),
this.destinationPath(this.props.appName + '/models/__init__.py'),
{
process: function (contents) {
return contents += 'from .' + _.snakeCase(self.props.modelName) + ' import ' + self.props.modelName + ''n';
}
}
);
> 没有办法签署冲突。您没有责任为最终用户决定什么是"安全"的,什么是不安全的。
如果您引入了一个错误并且破坏了用户文件怎么办?这就是为什么生成器不能跳过冲突的原因。
有时您可能想要替换某些文件,例如在首次运行时替换 gulp 或 grunt 文件,即提取框架源代码......
Toby在这里给出了一个很好的方法:在这里阅读
相关文章:
- 在文件读取器中追加的订单问题
- 如何在CasperJS中添加/追加我的结果到文本文件
- 使用标记和 (TXT) .dat 文件中追加信息的最佳方式.从窗体
- 如何使用jQuery添加/追加到外部JSON文件
- 将 JSON 键值对追加到 .json 文件 Titanium
- jQuery, Masonry, JWPlayer, Infinite-Scroll 在 PHP 包含文件中追加“
- 通过 nodejs 追加到文件时从输出中删除 ^M
- 应用程序重新启动后追加到文件 - Phonegap
- 冲突安全追加到约曼生成器中的现有文件
- 追加了 JQuery 的代码不会在输入文件上触发单击事件
- Backbone.js模型urlRoot网络应用程序文件夹名称被追加了两次
- 如何将文件追加到文件输入字段中
- 为什么PHP文件追加只在99.7%的尝试中完全成功?
- php . .使用文本文件在分号表中插入(追加)一条记录
- Can多个fs.写入追加到同一文件保证执行顺序
- 多个文件追加到节点js的响应对象中
- 使用JavaScript/PHP将文本追加到本地文本文件
- 如何从其他js文件追加javascript函数数组
- 将被删除的文件追加到输入类型="文件"multiple>
- 从D3文件追加svg