//引入路径模块
import path from 'path';
//引入文件模块
import fs from 'fs';
import { parse } from 'node-html-parser';
import { fileURLToPath } from 'url';
const __filenameNew = fileURLToPath(import.meta.url);
const __dirnameNew = path.dirname(__filenameNew);
// 因打包文件名是获取的当前时间，所以每次修改index.html记得在这修改文件名
let pathName = path.join(
  __dirnameNew,
  'Snow-mobile-2023-1-12--18.33/index.html'
);
fs.readFile(pathName, 'utf8', function (err, html) {
  if (err) {
    return console.log('读取index.html文件失败' + err.message);
  }
  const root = parse(html);
  const elList = root.querySelectorAll('script');

  for (let i = 0; i < elList.length; i++) {
    // 1、移除 <script type=module> 元素
    const data = elList[i].getAttribute('type');
    const cro = elList[i].hasAttribute('crossorigin');
    if (data && data === 'module' && cro) {
      elList[i].remove();
    }

    // 2、移除其他 <script> 的 nomodule 属性
    const hasNoModule = elList[i].hasAttribute('nomodule');
    if (hasNoModule) {
      elList[i].removeAttribute('nomodule');
    }

    // 3、移除 <script id=vite-legacy-entry> 元素的内容，并把 data-src 属性名改为 src
    // const hasDataSrc = elList[i].hasAttribute('data-src');
    // if (hasDataSrc) {
    //   const legacyEle = elList[i];
    //   const srcData = legacyEle.getAttribute('data-src');
    //   legacyEle.setAttribute('src', srcData);
    //   legacyEle.removeAttribute('data-src');
    //   legacyEle.innerText = '';
    // }
  }
  const ellink = root.querySelectorAll('link');
  for (let j = 0; j < ellink.length; j++) {
    // 4.移除 link标签上的modulepreload
    let rel = ellink[j].getAttribute('rel');
    if (rel && rel == 'modulepreload') {
      ellink[j].removeAttribute('rel');
    }
  }
  // 将新的组合的内容写入原有index.html
  fs.writeFileSync(pathName, root.toString());
  // console.log('222'+root.toString())
});
