在构建应用程序时排除JS脚本是否有解决方案?



这个问题以前就有人问过,但似乎没有具体的答案。我的情况可能比较简单,也许现在有人已经找到解决办法了。

我正在使用vite来构建一个vue.js应用程序,并希望排除一堆.js文件,这些文件只是数据(文字游戏的单词列表),并将随着时间的推移被服务器修改。这些文件位于主构建的子目录中。我已将它们添加到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>

在阅读了这里和github的几个帖子之后,我以各种方式修改了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法和commonjsOptions法均无效;当我运行npm run build时,word文件仍然包含在构建中,并且对它们的引用从index.html

中删除。如果我从html refs中删除type="module",构建过程会给我错误:

p>

和相关行没有从index.html中删除,但单词列表仍在捆绑!-在生成的。js文件

中很容易看到它们

我想我采取了错误的方法。因为我想要排除的。js文件只是数据(随着时间的推移我的变化)....

export const words4 = [
"ABED",
"ABET",
"ABLE",
"ABLY",
"ABUT",
"ACED",
....]

…我最好将它们重新创建为.json文件而不是.js文件,然后使用http GET来检索它们。或者,因为MySql将在服务器上运行,所以将单词列表存储在那里。

相关内容

最新更新