Node.js 升级包到最新版本后,让 import 和 require 在一个文件中混用

node.js 默认的包管理工具 npm 是不会给包升级大版本的,也就是无法享受最新版本带来的更新,好处是 update 后代码不会出现大面积需要修复的情况,

但总有需要更新包,修复bug的时候,这时候可以安装更新检查

npm install -g npm-check-updates

安装完后运行

ncu
image.png

可以看到可以升级的情况

这时候可以运行

ncu -u

将package.json 所有的版本更新,然后运行

npm install

安装所有新的包


安装完后就会发现,很多官方的包都更新到了 module 模式,就是我们之前的 require 出错了,

最快的解决方案 ( node.js >= 13 ) 就是在packag.json中加一句

"type": "module",
image.png

这样一来,就可以愉快的用 import 了,但又带来一个新问题,就是 require 开始报错

解决的方法就是在用到 require 的库的 js 文件中加上

import { createRequire } from "module";
const require = createRequire(import.meta.url);

这里要注意的是,有些库升级以后已经放弃 require,那只能一个一个改成 import 了

.
.
.


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容