mokevip
V2EX  ›  问与答

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

  •  
  •   mokevip · Nov 15, 2022 · 1113 views
    This topic created in 1285 days ago, the information mentioned may be changed or developed.

    目前项目是 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 replies    2022-11-15 18:18:11 +08:00
    weiwoxinyou
        1
    weiwoxinyou  
       Nov 15, 2022 via Android
    tsconfig. Json/jsconfig. Json 文件可以配置编译选项,paths: {
    @/*: src1,
    @abc/*: src2
    }
    mokevip
        2
    mokevip  
    OP
       Nov 15, 2022
    @weiwoxinyou 配置了,没啥用。。。
    mokevip
        3
    mokevip  
    OP
       Nov 15, 2022
    @weiwoxinyou 嗷嗷,文件还需要在 include 里面有
    mokevip
        4
    mokevip  
    OP
       Nov 15, 2022
    目前用 nodejs 手撸了覆盖式,追加啊啥的因为需要读取文件还没搞
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2205 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 466ea39e · 49ms · UTC 00:35 · PVG 08:35 · LAX 17:35 · JFK 20:35
    ♥ Do have faith in what you're doing.