【发布时间】:2018-12-21 13:15:51
【问题描述】:
我使用fs.readFile 并抛出data 并获取所有文件行,现在我只需要获取行内范围{}
代码如下:
//index.js
const fs = require('fs');
fs.readFile(process.argv[2], (err, data) => {
if (err) throw err;
console.log(`${data}`)
});
//app.scss
.app {
color: black;
.a {
margin: 10px;
}
}
用法
node index.js <CSS file directory> //dummy example
node index.js app.scss //real example
结果
//all file lines will print in console
.app {
color: black;
.a {
margin: 10px;
}
}
预期结果
color: black;
margin: 10px;
但是这里data 是所有文件行,我只需要后行内部范围,有什么帮助吗?
【问题讨论】:
-
var lines = ''; data.split('\n').forEach(function(line){ if (line.indexOf('{') < 0) lines += line + '\n' });所以用\n换行符分割数据并检查该行是否包含{ -
@Molda
TypeError: data.split is not a function显示此错误 -
您将需要一个 javascript 中的 css 解析器,以实现您对各种 css 文件的需求。另一方面,如果您事先知道要阅读的 css 文件的结构,则可以通过简单的正则表达式匹配来完成
标签: javascript node.js scope