关于`babel-loader`和`babel-core`版本兼容性问题

Posted codebook

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于`babel-loader`和`babel-core`版本兼容性问题相关的知识,希望对你有一定的参考价值。

1. 安装babel-loader和babel-core出现问题

1.1 安装babel的转换工具包:

npm i babel-core babel-loader babel-plugin-transform-runtime -D

 

1.2 安装完成后package.json中显示:

"dependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^8.0.5",
...
},

 

1.3 注意:`package.json`中的信息显示,在`npmjs.com`仓库中`babel-core`最新版本是`6.26.3`,同时`babel-loader`最新版本是`8.0.5`,但是这里报了一个警告:

npm WARN [email protected]8.0.5 requires a peer of @babel/[email protected]^7.0.0 but none is installed. 

 

2. 关于上述问题的解答:

2.1 `[email protected]`是webpack用于`Babel 7.x`的一个整合loader模块,`Babel 7.x`已经把所有的相关的包从`babel-`迁移到了`@babel`的npm环境仓库。

所以上述警告是合适的,你可以通过使用`@babel/core`代替`babel-core`来安装:

npm i @babel/core -D

 

2.2 如果你希望安装`Babel 6.x`,你可以使用下面的命令:

npm i babel-core [email protected]7 babel-plugin-transform-runtime -D

 

2.3 如果你想使用`Babel 7`,理论上你可以使用下面的命令安装:

npm i @babel/core babel-loader babel-plugin-transform-runtime -D

 

2.4 [参考资料来自]

以上是关于关于`babel-loader`和`babel-core`版本兼容性问题的主要内容,如果未能解决你的问题,请参考以下文章

你如何更新 Babel-CLI 中的依赖项?

Babel-CLI 正确设置配置值

利用babel-cli搭建支持ES6的node环境

配置babel-cli

几个命令行命令的总结(node, babel-cli, babel-node)

为啥要使用 babel-loader 和 ts-loader?