我正在使用Gatsbyjs生成静态网站,这会输出一个静态HTML文件的文件夹。
我需要将这些HTML文件托管在Microsoft SharePoint上-这要求将.html
转换为.aspx
才能运行。
我有一条附言,将所有.html
更新为.aspx
(效果很好)。
但是,所有生成的链接都指向该文件夹:
<a href="/folder/">link</a>
为了使其在共享点上正常工作,我需要更新每个html文件中的每个href,以指向每个文件夹中的index.aspx
文件:
<a href="/folder/index.aspx">link</a>
在后期制作中最好的方法是什么?理想情况下,我希望将其作为构建后脚本的一部分。使用webpack可以实现吗?还是我最好使用JSDOM之类的方法遍历每个文件并更新每个链接?
答案 0 :(得分:1)
使用cheerio可能会更好,它比jsdom轻,并且支持大多数jquery语法。
var html = fs.readFileSync(input.html);
const $ = cheerio.load(html);
var output = $('a[href="folder"').attr('href', '/folder/index.aspx').html();