V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
redsonic
V2EX  ›  Node.js

吐槽一下 nodejs 的打包

  •  
  •   redsonic · 2018-04-19 00:36:12 +08:00 · 6195 次点击
    这是一个创建于 2170 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人非前端,受 electron 桌面应用的吸引编译了 github 上的几个项目包括 vscode。期间包依赖的问题就不提了,简单的 bug 也能修过去,webpack 以后基本都能在本地跑起来。可是其中设置好 build 能用 electron-builder 打包没有几个,不是简单的小错误就是 build 没配置好甚至没有配,却还写在 script 里。令人纳闷的是 release 页面上各个平台的熟肉包一应俱全,我都开始怀疑是不是作者自己打的包。 是不是前端做应用的都不太重视打包、分发?

    补充一下 vscode 的 rpm 打包方法: build 完之后 yarn run gulp vscode-linux-x64-min yarn run gulp vscode-linux-x64-build-rpm

    这还是从 debian 的打包过程看出来的: https://github.com/Microsoft/vscode/wiki/Cross-Compiling-for-Debian-Based-Linux 其他地方我还真没找到。

    vscode 是我折腾源码构建、打包问题最少的一个项目了( encounter 个位数) 也许真的没人在乎自己从源码构建、打包,这些项目的 issue 几乎很少提这类问题。

    5 条回复    2018-04-19 16:20:13 +08:00
    POPOEVER
        1
    POPOEVER  
       2018-04-19 00:45:03 +08:00
    用第三方的 packager 啊
    crysislinux
        2
    crysislinux  
       2018-04-19 06:53:32 +08:00 via Android
    除了代码是 nodejs 写的,跟 nodejs 打包有啥关系。
    doubleflower
        3
    doubleflower  
       2018-04-19 10:13:44 +08:00 via Android
    去看 archlinux 打包文件,那个没有别的乱七八糟的,就是打包过程的干货
    redsonic
        4
    redsonic  
    OP
       2018-04-19 16:16:30 +08:00
    @crysislinux webpack、electron-builder 和 nodejs 没关系? 我是觉得打个包还要必须熟悉 nodejs 是有点奇怪的,相较其他语言的项目。

    @doubleflower 对于 python、perl 以及传统 c\c++的确实很有用,但 nodejs 很多就是 archlinux only,比如 vscode,换到 suse 就不行,各种奇奇怪怪的依赖问题,虽然最后也能搞定可是感觉非常不值,我 TM 折腾一下午为啥不直接连同 node_modules 打个 tar 拉倒。而且就算是 archlinux,上面的 comment 也明显比其他语言项目的多。
    crysislinux
        5
    crysislinux  
       2018-04-19 16:20:13 +08:00
    webpack 本身就不是什么 nodejs 的包都能打。再者这也不是 nodejs 提供的功能。不熟悉一个项目的时候从源码构建本来也不容易,哪个语言的都是这样子,以前 linux 那些库,自己编译更是到处出错。这是必由之路。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5199 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 09:40 · PVG 17:40 · LAX 02:40 · JFK 05:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.