如何防止vite/rollup更改index.html脚本路径?

dz6r00yl  于 2022-11-27  发布在  其他
关注(0)|答案(1)|浏览(281)

bounty明天到期。回答此问题可获得+50声望奖励。leonheess希望吸引更多人关注此问题。

我在<head>中有一个相对脚本标记,如下所示:

  1. <script type="module" src="/../modules/module1"></script>

通过vite/rollup配置将其标记为外部。在构建过程中,将其移动到捆绑包中,并根据构建代理的文件系统调整路径(例如import "./modules/module1")。但是,该路径显然不是相对于文件系统,而是相对于URL。
我尝试了很多,但是我不能防止构建与脚本标记混淆,或者使vite/rollup理解它与当前文件系统无关。

再现

https://stackblitz.com/edit/vitejs-vite-gvcugb?file=index.html
运行npm i && npm run build,检查dist/index.htmldist/assets/index.*.js中的第一个字符,查看相对路径是否已移动和更改。

yrdbyhpb

yrdbyhpb1#

此功能显然是Vite的一部分:https://github.com/vitejs/vite/blob/main/packages/vite/src/node/plugins/html.ts#L370
在那里它被标记为删除和文件路径解析B/c的isExcluded不查询config.build.rollupOptions.external
我创建了一个问题,希望能解决这个问题:https://github.com/vitejs/vite/issues/11017

相关问题