V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mokevip
V2EX  ›  问与答

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

  •  
  •   mokevip · 2022-11-15 15:43:34 +08:00 · 742 次点击
    这是一个创建于 740 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前项目是 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 引入文件全在报错,怎么解决开发时这类问题,直接全部关闭

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

    4 条回复    2022-11-15 18:18:11 +08:00
    weiwoxinyou
        1
    weiwoxinyou  
       2022-11-15 16:52:19 +08:00 via Android
    tsconfig. Json/jsconfig. Json 文件可以配置编译选项,paths: {
    @/*: src1,
    @abc/*: src2
    }
    mokevip
        2
    mokevip  
    OP
       2022-11-15 16:53:57 +08:00
    @weiwoxinyou 配置了,没啥用。。。
    mokevip
        3
    mokevip  
    OP
       2022-11-15 18:17:06 +08:00
    @weiwoxinyou 嗷嗷,文件还需要在 include 里面有
    mokevip
        4
    mokevip  
    OP
       2022-11-15 18:18:11 +08:00
    目前用 nodejs 手撸了覆盖式,追加啊啥的因为需要读取文件还没搞
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1000 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:00 · PVG 07:00 · LAX 15:00 · JFK 18:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.