我想问一下是否有人知道如何使用node.js查看.scss文件并获取列出的所有类,然后将它们放在对象或数组中?
答案 0 :(得分:0)
这个问题是你需要sass文件夹可供你的服务器使用,这不是推荐的做法,因为你只发布了css编译文件,没有必要也发布dev资源。 但是,如果您这样做,则需要使用节点读取.scss文件,然后使用正则表达式匹配文件中的.class字符串。
这将读取文件:
var fs = require('fs');
function readSassFile () {
fs.readFile('./public/scss/components/_styles.scss', 'utf8', function (err, data) {
if (err) {
console.log(err);
return;
}
regexArray(data);
});
}
如您所见,最后如果readFile成功检索文件,我正在调用函数regexArray()并发送加载文件的数据。
在regexArray函数中,您需要定义一个正则表达式来评估加载的文件的字符串。
function regexArray (data) {
var re = /\.\S*/g;
var m;
var classArray = [];
while ((m = re.exec(data)) !== null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
classArray.push(m[0]);
}
console.log(classArray);
}
var re是匹配任何以a开头的字符串的正则表达式。并以与您的css类名匹配的非空格字符结束。
然后我们评估m变量什么时候与null不同并将结果存储在数组classArray中,然后你可以记录它以查看结果。
我使用fs.readFile方法中的路径进行测试,您可以为自己的路径更改它。