兄弟们,碰到大问题了,如何做到混合编译

2022-11-15 15:43:34 +08:00
 mokevip

目前项目是 Uniapp + vue3 + vite

需求是,我们提供两种服务模式

  1. 使用我们的服务
  2. 提供定制服务,并支持私有化部署

问题出现了 定制的服务如何做到,自身定制的同时能与主服务保持更新,并且定制内容不会被主服务覆盖

目前想的方法是,多个 src ,通过编译器将 xxx-src 里的内容合并 /覆盖到 src

合并是, 自己在 template 、script 、style 上增加自定义名称,编译器通过判断名称决定追加到主包 template/script/style 的开头或者最后

覆盖就是,若有则直接覆盖这个文件

静态文件默认存在则直接覆盖

———————————— 分割线 ————————————————

思路比较清晰,但是在实际实践时遇到很多问题

  1. 本人不太懂编译器,看了 vite 和 gulp 、rollup ,根据现在的基础很难实现,最后可能要么潜心学习编译器插件开发,要么直接写 nodejs (目前逻辑不难,文件处理后仍然交给 vite 等编译器编译)

  2. vue.config.js 里面 @ 只能指代一个目录,xxx-src 下面的 vue 引入文件全在报错,怎么解决开发时这类问题,直接全部关闭

------------- 分割线 ------------------ 或者大佬们有没有别的好的办法,或者有别人踩过的坑? 因为这事快秃了,谢谢大佬

742 次点击
所在节点    问与答
4 条回复
weiwoxinyou
2022-11-15 16:52:19 +08:00
tsconfig. Json/jsconfig. Json 文件可以配置编译选项,paths: {
@/*: src1,
@abc/*: src2
}
mokevip
2022-11-15 16:53:57 +08:00
@weiwoxinyou 配置了,没啥用。。。
mokevip
2022-11-15 18:17:06 +08:00
@weiwoxinyou 嗷嗷,文件还需要在 include 里面有
mokevip
2022-11-15 18:18:11 +08:00
目前用 nodejs 手撸了覆盖式,追加啊啥的因为需要读取文件还没搞

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/895418

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX