引自免费微信小程序:皆我百晓生
要为Vue 3项目添加版本号到打包后的文件名中,可以使用Vite的version插件。首先,确保已经安装了@vitejs/plugin-alias和@vitejs/plugin-version插件。
-
安装插件:
npm install @vitejs/plugin-alias --save-dev npm install @vitejs/plugin-version --save-dev -
在
.vitepress/config.js中启用Vite的alias插件。import { alias } from '@rollup/plugin-node-resolve'; import { resolve } from 'path'; module.exports = { plugins: [ // ...其他插件... alias({ // 插入Vite的全局别名 './': resolve(__dirname, '../src'), }), // ...其他插件... ], }; -
在Vite项目的根目录下创建一个名为
package.json的文件,并将以下内容添加进去:"scripts": { "build": "vite build" } -
修改
package.json中的scripts部分,将其更改为:"scripts": { "build": "vite build && vite-plugin-version", "preview": "vite preview" } -
在
src/main.tsx文件顶部引入@vitejs/plugin-version插件:import { versionPlugin } from '@vitejs/plugin-version'; import * as path from 'path'; -
添加Vite的
version插件:export default { plugins: [versionPlugin()], }; -
修改
main.js文件的export default语句,使其包含版本信息:export default { entry: './index', mode: 'production', output: { assetFileNames: '[name].[ext]', chunkFilename: '[id].[hash].[ext]', globalName: '[name]', filename: '[name].[contenthash].[ext]', libraryTarget: 'commonjs2', libraryExport: 'default', path: path.resolve(__dirname, 'dist'), publicPath: '/', sourcemap: true, inlineDynamicImport: false, }, plugins: [versionPlugin()], }; -
创建一个新的文件夹,例如
dist/versions,用于存放不同版本的构建文件。 -
在
dist/versions文件夹内创建一个名为的文件,并将当前版本的主入口文件复制到该文件中。.js
这样,每次运行npm run build命令时,都会生成一个包含版本号的主入口文件,从而解决了新版本发布的缓存问题。
