You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Vite构建Vue项目时如何排除指定JS文件?求解决方案

问题:Vite构建Vue项目时排除可动态修改的单词表JS文件

我正在用Vite构建Vue.js应用,有一批仅作为单词游戏单词表的.js文件——这些文件是纯数据,且服务器会随时修改,希望构建时把它们排除在打包产物之外。这些文件放在src/assets/words/子文件夹中,我直接在index.html里引入了它们:

<body>
<script  type="module" src="./src/assets/words/3letter.js"></script>
  ......
<script type="module" src="./src/assets/words/9letter.js"></script>
<div id="app" align="center">
</div>
<script type="module" src="/src/main.js"></script>

查了相关资料后,我尝试修改vite.config.js,用了两种方式都没效果:

export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  optimizeDeps: {
    exclude: [
      './src/assets/words/*.js'
    ],
  },
  // build: {
  //   commonjsOptions: {
  //     exclude: [
  //       './src/assets/words/*.js'
  //     ]
  //   }, 
  // }
})

遇到的问题:

  • 用optimizeDeps.exclude和build.commonjsOptions.exclude都无效,执行npm run build时,单词文件仍被打包进产物,且index.html中的引用被移除
  • 如果移除script标签里的type="module",构建会报错:

script src="./src/assets/words/3letter.js" in "/index.html" can't be bundled without type="module" attribute
此时index.html里的引用没被移除,但单词表还是被打包进最终的大JS文件里。

内容的提问来源于stack exchange,提问作者quilkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 02:35:48