您可能只想编写一个脚本来进行转换并将其添加到您的 npm 脚本中。我创建了一个简单的 chrome extension 来玩 VITE。拥有多个 html 文件非常简单:
import { defineConfig, BuildOptions } from 'vite'
import vue from '@vitejs/plugin-vue'
const { resolve } = require('path')
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()],
build: {
rollupOptions: {
input: {
main: resolve(__dirname, 'index.html'),
popup: resolve(__dirname, 'popup/index.html'),
options: resolve(__dirname, 'options/index.html'),
},
}
}
})
但是我必须创建一个单独的 vite 配置文件来处理后台脚本,因为它有特殊的配置(不需要散列,所以我可以在我的清单中指定名称,esm 模块格式),并且它采用打字稿并输出“背景” .js' 在公用文件夹中:
import { defineConfig } from 'vite'
const { resolve } = require('path')
// https://vitejs.dev/config/
export default defineConfig({
build: {
emptyOutDir: false,
rollupOptions: {
input: resolve(__dirname, 'background.ts'),
output: {
format: "esm",
file: "public/background.js",
dir: null,
}
}
}
})
你可以简单地将 xml 文件放在你的 src 文件夹中并运行一个特殊的脚本(也许创建一个“脚本”文件夹)来进行转换并将结果存储在 public 文件夹中,vite 将在其中获取它并将其复制到 dist 文件夹. package.json 中的“构建”脚本可能如下所示:
"scripts": {
"build": "node scripts/transform-xml.mjs && vite build",
},