md中的特殊占位文件路径的替换
结构
:::readFile
/xx/xx.vue
:::
将/xx/xx.vue
进行替换出来
const extractContentAll = (str, prefix, suffix) => {
const pattern = new RegExp(`${prefix}(.*?)${suffix}`, "sg");
const match = str.match(pattern);
return match ? match : null;
};
const extractContentSingle = (str, prefix, suffix) => {
const pattern = new RegExp(`${prefix}(.*?)${suffix}`, "s");
const match = str.match(pattern);
return match ? (match[1] + "").replace(/^\s+|\s+$/g, "") : null;
};
let pp = extractContentAll(res, ":::readFile", ":::");
for (let item of pp) {
item = item + "";
let tempFilePath = extractContentSingle(item, ":::readFile", ":::");
let fileContent = await getFileContent(tempFilePath);
res = res.replace(
new RegExp(`${item}`),
item.replace(new RegExp(`${tempFilePath}`), fileContent)
);
}
读取文件的方案(按照实际情况兼容替换即可)
方式一
//index.html中的头部添加<!--md路径失败-->锚定,判断是否读取了
const getFileContent = async (filePath) => {
const response = await fetch(new URL(filePath, import.meta.url));
const content = await response.text();
if (/<!--\s+md路径失败\s+-->/.test(content)) {
return "请检验md的路径是否正确【" + filePath + "】";
}
return content;
};
方式二(uniapp)
uni.request({
url: "/src/static/index/index.txt", // 本地文件的路径
success: (res) => {
console.log("读取本地文件成功", res.data);
},
fail: (err) => {
console.log("读取本地文件失败", err);
},
});
原文地址:https://blog.csdn.net/u010872015/article/details/145246370
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!