我有一个src
文件夹和一个public
文件夹。 src
文件夹有许多子文件夹,每个子文件夹都有一个index.html。在npm run build
上,每个文件夹都从src
复制到public
。
我想要一个npm脚本来查找每个index.html文件,并在正文中插入一个html代码段,例如带有徽标的div。
我现在已经netlify这样做了,但是我想将其合并到我的构建步骤中,并且还希望避免使用gulp。任何方向将不胜感激,谢谢。
答案 0 :(得分:0)
我做了部分工作,因为我的用途是只需要阅读public
目录和一层子目录。但是,我似乎无法在addSnippetToIndexes
fs函数外部访问subDirectories变量。有任何想法吗?我在下面尝试了回调,没有骰子。我是一个真正的节点n00b。
const fs = require('fs');
const logo = '<div id="logo"><h1>my cool logo</h1></div>'
let subDirectories = []
function addSnippetToIndexes(directory){
fs.readdir(directory, (err, files) => {
if (err) {return console.log(err);}
files.forEach(file => {
if(file.substr(-5) === '.html'){
fs.readFile(directory+file, 'utf8', function (err,data) {
if (err) {return console.log(err);}
let result = data.replace(/\<\/body>/g, logo + '</body>');
fs.writeFile(directory+file, result, 'utf8', function (err) {
if (err) return console.log(err);
});
});
}else{
subDirectories.push(file)
}
});
//I can access subDirectories here but not outside function?
});
}
addSnippetToIndexes('./public/')
subDirectories.forEach(i => {addSnippetToIndexes(i)}) //THIS DOESNT WORK?