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);
      },
    });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yll1024335892

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值