node.js 默認(rèn)的包管理工具 npm 是不會(huì)給包升級(jí)大版本的,也就是無法享受最新版本帶來的更新,好處是 update 后代碼不會(huì)出現(xiàn)大面積需要修復(fù)的情況,
但總有需要更新包,修復(fù)bug的時(shí)候,這時(shí)候可以安裝更新檢查
npm install -g npm-check-updates
安裝完后運(yùn)行
ncu
image.png
可以看到可以升級(jí)的情況
這時(shí)候可以運(yùn)行
ncu -u
將package.json 所有的版本更新,然后運(yùn)行
npm install
安裝所有新的包
安裝完后就會(huì)發(fā)現(xiàn),很多官方的包都更新到了 module 模式,就是我們之前的 require 出錯(cuò)了,
最快的解決方案 ( node.js >= 13 ) 就是在packag.json中加一句
"type": "module",
image.png
這樣一來,就可以愉快的用 import 了,但又帶來一個(gè)新問題,就是 require 開始報(bào)錯(cuò)
解決的方法就是在用到 require 的庫的 js 文件中加上
import { createRequire } from "module";
const require = createRequire(import.meta.url);
這里要注意的是,有些庫升級(jí)以后已經(jīng)放棄 require,那只能一個(gè)一個(gè)改成 import 了
.
.
.
完