首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
React
华为云
V2EX  ›  React

react 无法升级到 16 ,折腾死了

  •  
  •   yeelone · 197 天前 · 2079 次点击
    这是一个创建于 197 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前使用 react+dva+antd 写一个后台管理系统,过去几个月了,react 也发布了 16。

    这两天比较闲,想把 react 升级到 16,结果一升级,整个项目莫名其妙的问题一大堆,各依赖也是理也理不清,跑都跑不起来。

    真是心伤,准备停止升级,不想继续浪费时间 。

    只是,现在的我放弃升级,过一阵子我可能一想起升级这么浪费时间也会放弃 ,但是这个项目会一直使用下去 ,如果不升级,总有一天版本会大副落后。那时想升级应该更痛苦。

    大家是怎么对待前端日新月异的更迭情况 的? 一直跟着版本走的话,很累啊

    13 回复  |  直到 2018-01-30 16:16:20 +08:00
        1
    hlwjia   197 天前
    你可知道我每个新项目跑起来后,都会备份 node_modules
        2
    zenxds   197 天前
    时刻关注,该升早点升,有问题早发现,等过一段时间升,一堆依赖包要升,有问题你都不知道哪个引起的
        3
    SuperMild   197 天前
    公司的项目没有办法只能尽量跟上。个人项目尽量减少依赖,尽量用已经稳定的旧东西,反正其实都能做出来。练手项目就看心情了。
        4
    ck65   197 天前 via iPhone
    green keeper
        5
    thundernet8   197 天前 via Android
    一楼 你只需要备份 package.json 就行 有 Git 的话也不用备份了 在历史 commit 找就是
        6
    DeepCold   197 天前
    哈哈哈 @hlwjia #1 厉害了,多问一句,备份到哪里?
        7
    brickyang   197 天前 via iPhone
    按说 15 能跑的 16 不会出很大问题…如果以前写得比较规范的话…

    说实话 React 的版本升级真算还好的了,react-router 的大版本升级才是令人颤抖的存在
        8
    nl101531   197 天前 via Android
    依赖管理真麻烦
        9
    hxtheone   197 天前 via iPhone
    @brickyang +1,react-router 真是升个大版本就要重新写一遍
        10
    yyfearth   197 天前
    @thundernet8 你错了 备份 package.json 不够:
    1. 因为你 package.json 里面版本通常没有锁定 默认是可以 patch 更新“^1.1.0 ”这样
    2. 就算你依赖版本锁定了 但是依赖的依赖还是没有被锁定 所以还是有不少概率由于 依赖的依赖 patch 更新引入 bug 或者上层不兼容导致 app 的 bug
    3. 有时候 npm 抽风 把一堆非常基础的包给弄没了(此外国内的网络问题就不用多说了)

    @hlwjia 所以一般情况下 你只需要备份 package-lock.json 或者 yarn.lock 就基本上相当于备份 node_modules 了
    最好前提是网络比较通畅 或者有 npm 镜像缓存

    npm 的 package-lock.json 或者 yarn 的 yarn.lock 就是把解析后的版本和下载地址都锁定下来 只要下载地址还存在 就可以精确的复现 node_modules

    当然万事都不是绝对的 有时候备份 npm tgz 缓存还是有必要的 搞不好 npm 就抽了

    @SuperMild NodeJS 社区发展太快 无论本身还是包版本升级都太快 就算是稳定的旧东西 也很快就变得不稳定或者 deprecated 了 除非你用 Java PHP 那套 才可能稳定好多年
        11
    hlwjia   197 天前
    @yyfearth trust me. 什么 shrinkwrap 各种 lock 我都知道啊(也在用),但不够保险(当然我的做法太保守是肯定的,但是我只想多花点时间把项目写好,不是解决依赖问题
        12
    hlwjia   197 天前
    @thundernet8, @yyfearth 已经解释地很清楚了哈
        13
    guomuzz   196 天前
    确实蛋疼 有次升级报错 查找半天 最后手动进一个包里把这个包的某一个依赖的最新 git clone 下来 替换 才 tm 解决 恶心死了 替换完 直接把 node_modules 备份了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   3225 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 16ms · UTC 02:50 · PVG 10:50 · LAX 19:50 · JFK 22:50
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1