bounty明天到期。回答此问题可获得+50声望奖励。leonheess希望吸引更多人关注此问题。
我在<head>
中有一个相对脚本标记,如下所示:
<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.html
和dist/assets/index.*.js
中的第一个字符,查看相对路径是否已移动和更改。
1条答案
按热度按时间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