Javascript 冲突安全附加到Yeoman生成器中的现有文件
我正在为一个Django/Angular项目编写一个yeoman生成器。项目中的样板文件很大一部分涉及到管理依赖关系。为了简化依赖关系管理,我将某些文件本质上视为头文件,用于定义某个包导出或导入的内容。例如,当我在myJavascript 冲突安全附加到Yeoman生成器中的现有文件,javascript,django,yeoman,yeoman-generator,Javascript,Django,Yeoman,Yeoman Generator,我正在为一个Django/Angular项目编写一个yeoman生成器。项目中的样板文件很大一部分涉及到管理依赖关系。为了简化依赖关系管理,我将某些文件本质上视为头文件,用于定义某个包导出或导入的内容。例如,当我在mymy_app/models/包中创建一个新文件my_model.py时,我想将行from.my_model import MyModel附加到my_app/models/\uuu init_uuuuuuuuuu.py 因为这只是一个简单的附加部分,它不特别依赖于的其余部分,即.p>
my_app/models/
包中创建一个新文件my_model.py
时,我想将行from.my_model import MyModel
附加到my_app/models/\uuu init_uuuuuuuuuu.py
因为这只是一个简单的附加部分,它不特别依赖于<代码>的其余部分,即.p> < />代码>文件,我认为这是一个非常安全的文件更新。我的问题是,是否有一种方法可以从开发的角度将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';
}
}
);
没有办法结束冲突。你没有责任为你的最终用户决定什么是“安全的”,什么不是
如果您引入了一个bug并破坏了用户文件,该怎么办?这就是为什么生成器不能跳过冲突。有时您可能希望替换某些文件,例如,在第一次运行时替换gulp或grunt文件,即拉出框架源代码时 托比在这里给出了一个很好的方法: