几周前,我在 Yeoman 生成器中使用了这个库 mem-fs-editor
( https://github.com/sboudrias/mem-fs-editor )。它工作得很好,但现在我尝试在不同的范围内再次使用它,但我无能为力。 Obs:我使用它是因为这是 Yeoman 提供的用于处理文件系统的库。
在 Yeoman Generators 中,我们可以从模板文件夹复制文件,传递要注入(inject)代码的值到不同的文件夹。这正是我所需要的,但这次我不能使用 Yeoman。
我尝试了在 Yo Generator 中使用的相同代码,但它不起作用。所以我不确定 mem-fs 是如何工作的。没有抛出任何错误,甚至项目作者提供的代码对我来说也不起作用。
我尝试了这个(以及 copyTpl 的其他一些方法)但没有成功
var memFs = require('mem-fs');
var editor = require('mem-fs-editor');
var store = memFs.create();
var fs = editor.create(store);
console.log(fs.write('./somefile.js', 'var a = 1;'));
有人知道它是如何工作的,或者我还能做些什么来实现这一点?
最佳答案
mem-fs-editor 作者在这里。
mem-fs 代表内存文件系统。您创建的所有文件都存储在内存中,并且在调用之前不会写入磁盘:
editor.commit(callback);
Yeoman 会自动为您完成此操作。 Yeoman 就是通过这种方式将每个文件更改碰撞在一起,然后只能提示一次文件冲突(而不是每次写入单个文件时)。
关于node.js - 如何将文件复制为模板,向其中注入(inject)值,到不同的文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41008042/