自学内容网 自学内容网

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)!