找不到模块babel-preset-es2015

j s*_*rma 23 node.js reactjs

再次得到同样的错误:Error: Cannot find module 'babel-preset-es2015'.

完整错误日志:

ERROR in ./main.js Module build failed (from ./node_modules/babel-loader/lib/index.js): Error: Cannot find module 'babel-preset-es2015' from 'C:\Users\hp\Desktop\reactApp'
 at Function.module.exports [as sync] (C:\Users\hp\Desktop\reactApp\node_modules\resolve\lib\sync.js:43:15)
 at resolveStandardizedName (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\files\plugins.js:101:31)
 at resolvePreset (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\files\plugins.js:58:10)
 at loadPreset (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\files\plugins.js:77:20)
 at createDescriptor (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\config-descriptors.js:154:9)
 at items.map (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\config-descriptors.js:109:50)
 at Array.map ()
 at createDescriptors (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\config-descriptors.js:109:29)
 at createPresetDescriptors (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\config-descriptors.js:101:10)
 at passPerPreset (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\config-descriptors.js:58:96) @ multi (webpack)-dev-server/client?http://localhost:8080 (webpack)/hot/dev-server.js ./main.js main[2]
Run Code Online (Sandbox Code Playgroud)

Pre*_*eli 58

对于Babel版本6,包名称是babel-preset-es2015,对于Babel版本7,包名称是@babel/preset-es2015.

从错误看,你似乎使用的是版本7. es20XX-presets不推荐使用,所以我建议你切换到@babel/preset-env.

首先安装预设(使用npm):

npm install --save-dev @babel/preset-env
Run Code Online (Sandbox Code Playgroud)

然后将预设添加到您的 .babelrc

{
    presets: ["@babel/preset-env"]
}
Run Code Online (Sandbox Code Playgroud)


Yan*_*Pak 8

babel 7 使用的东西@babel/preset-env。其他预设已弃用 这里说这个https://babeljs.io/docs/en/v7-migration#yearly-preset-deprecations-blog-2017-12-27-nearing-the-70-releasehtml-deprecated-yearly-预设-eg-babel-preset-es20xx

您应该在配置文件中指定(我不知道您使用的是 Webpack 还是其他东西)预设为“@babel/preset-env”。安装通过npm install --save-dev @babel/preset-env

例如,您正在使用 Webpack 模块捆绑器。在这种情况下,请指定如下:

use: {
      loader: "babel-loader",
      options: {
                presets: ["@babel/preset-env"]
      }
}
Run Code Online (Sandbox Code Playgroud)

如果您突然需要,这里有一个文档https://webpack.js.org/loaders/babel-loader/

快乐编码!