插件rimraf

855 阅读1分钟

rimraf

rimraf 的作用:以包的形式包装rm -rf命令,用来删除文件和文件夹的,不管文件夹是否为空,都可删除;

install

npm install rimraf –save-dev

package.json

"build": "vite build && rimraf dist/config.js" // vite 打包时删除本地config.js

应用

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <!-- 以webkit内核渲染页面 -->
    <meta name="renderer" content="webkit"/>
    
    <!-- 指定以webkit浏览模式,启用极速模式 -->
    <meta name="force-rendering" content="webkit"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    
    <link rel="icon" href="/favicon.ico" />
    
    <!-- 设置窗口,宽度为设备宽度,初始缩放比例为1.0 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    <!-- 手机端浏览时,识别格式 no标识关闭识别 --> 
    <meta name="format-detection" content="telephone=no,email=no">
    
    <title>标题</title>
    
    <!-- 修补代码不兼容问题 -->
    <script src="https://polyfill.io/v3/polyfill.min.js"></script>
    
    <!-- 引入文件 -->
    <script src="/config.js"></script>
  </head>
  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.js"></script>
  </body>
</html>

在引入文件后加入时间戳,用于检测代码更新

// vite.config.js
// config.js后缀增加时间戳
const configTimePlugin = () => ({
  name: 'config-time-cache',
  transformIndexHtml: (html) => html.replace(
    /(config\.js)/,
    `$1?${new Date().getTime()}`,
  ),
});

export default defineConfig({
  base: '/baseUrl',
  plugins: [
    vue(),
    configTimePlugin(),
  ],
});