如何使用nodejs脚本读取文件并在特定行更新文件
How to read a file and update the file at particular line with nodejs script
我想创建一个节点脚本来生成一组文件夹和文件,并向其写入一些起始代码,就像我们有来自 angular 的 cli 命令一样。我有一个名为 screen_names.js
的文件,每当通过 运行 命令 npm run feature [featureName]
创建新屏幕时,都会在应用程序的功能文件夹中创建一个包含一些子文件夹和文件的文件夹,我想要在文件中所有其他导入语句之后添加和导入语句,并在文件中所有其他导出语句之后添加导出状态。
import Input from '../features/Input/containers'
import Segment from '../features/segment/containers'
....
// add an import state here
export {
...,
Input,
Segment,
// add export component name here
}
我如何读取此文件并在适当的位置追加并再次保存文件到 javascript。
您可以使用 readline
模块逐行读取文件并检查要更新的特定条件,一旦读取所有数据,然后使用 fs
模块将其写入同一文件。
index.js
var output = "";
var fs = require('fs');
var lineReader = require('readline').createInterface({
input: require('fs').createReadStream('file.txt')
});
lineReader.on('line', function (line) {
if(CONDITON_TO_CHECK_FOR_UPDATE){
}
output += line + "\n";
});
lineReader.on('close', function (line) {
fs.writeFile('file.txt', output, function(err, data){
if (err) console.log(err);
console.log("Successfully Written to File.");
});
});
我想创建一个节点脚本来生成一组文件夹和文件,并向其写入一些起始代码,就像我们有来自 angular 的 cli 命令一样。我有一个名为 screen_names.js
的文件,每当通过 运行 命令 npm run feature [featureName]
创建新屏幕时,都会在应用程序的功能文件夹中创建一个包含一些子文件夹和文件的文件夹,我想要在文件中所有其他导入语句之后添加和导入语句,并在文件中所有其他导出语句之后添加导出状态。
import Input from '../features/Input/containers'
import Segment from '../features/segment/containers'
....
// add an import state here
export {
...,
Input,
Segment,
// add export component name here
}
我如何读取此文件并在适当的位置追加并再次保存文件到 javascript。
您可以使用 readline
模块逐行读取文件并检查要更新的特定条件,一旦读取所有数据,然后使用 fs
模块将其写入同一文件。
index.js
var output = "";
var fs = require('fs');
var lineReader = require('readline').createInterface({
input: require('fs').createReadStream('file.txt')
});
lineReader.on('line', function (line) {
if(CONDITON_TO_CHECK_FOR_UPDATE){
}
output += line + "\n";
});
lineReader.on('close', function (line) {
fs.writeFile('file.txt', output, function(err, data){
if (err) console.log(err);
console.log("Successfully Written to File.");
});
});