vite+ts部署在嵌套的公共路径的配置方案

当项目部署在嵌套目录时,目录结构像这样:
如果想同时在本地开发和部署时访问上级目录中的公共资源,那么,该如何配置vite.config.js。
首先,一个嵌套部署项目须配置base属性,这是公共基础路径,所有资源的路径都将据此配置重写。
pulic目录默认是 <root>/public
,但可以通过 publicDir
选项 来配置,作为静态资源服务的文件夹。该目录中的文件在开发期间在 /
处提供,并在构建期间复制到 outDir
的根目录,并且始终按原样提供或复制而无需进行转换。该值可以是文件系统的绝对路径,也可以是相对于项目根目录的相对路径。
但是一些公共资源是可以被多个同域名的项目共享的,如果每个项目都复制一遍文件到pulic下,也不是不行,但我想给老板省点服务器空间【手动狗头】。有人说了,那可以把域名都写上去啊,那我就不想写那么多嘛,累死了。还是折腾下配置吧,这样不累,头发多任性。那么,接下来,将上级目录指定为公共目录,且禁用复制。
这样,在本地就可以访问了:
所有路径资源在构建时会被加上base项配置的值。因此,这些公共资源部署后无法正常访问。experimental.renderBuiltUrl 方法可以为构建项目配置更高级的基础路径选项。这是一个实验性特性,一般用来部署使用不同缓存策略的项目,这种场景目测还挺常见,所以这个特性应该不会被废弃吧。无论如何先试试看。
测试进行到这一步,基本成功。一个空壳子项目实际上无法暴露太多问题。rollup具有轻量的优点,同样就失去了webpack灵活的优点。期待配置里用到的两个实验性特性在未来都能正式使用。【祖师爷你睡了吗?你怎么睡得着啊。】
如果有别的办法,请务必让我知道。