请问 vite 如何将 html 中的%title% 替换成 package.json 中的参数?

out-of-box 而不是插件的方式
插件可以使用 vite-plugin-html

阅读 1.9k
1 个回答

你先安装vite-plugin-html,然后在 Vite 配置文件中的自定义配置就行了,你参考一下:

import { defineConfig } from 'vite';
import { readFileSync } from 'fs';
import { resolve } from 'path';
import html from 'vite-plugin-html';

// 读取 package.json 文件内容
const packageJson = JSON.parse(
  readFileSync(resolve(__dirname, 'package.json'), 'utf-8')
);

// 导出 Vite 配置对象
export default defineConfig({
  plugins: [
    html({
      inject: {
        injectData: {
          title: packageJson.title || packageJson.name,
        },
      },
    }),
  ],
});

index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title><%= __APP_TITLE__ %></title>
  </head>
  <body>
    <div id="app"></div>
    <script src="/src/main.js"></script>
  </body>
</html>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题