首页 > 解决方案 > ./src/app.js 中的错误模块构建失败(来自 ./node_modules/babel-loader/lib/index.js):错误:找不到模块'@babel/preset-present-env'

问题描述

当我运行命令“npm run build”时,我收到此错误:

27) 在 buildRootChain.next() 处 loadPrivatePartialConfig (F:\Project\frontend-project-lvl1\node_modules@babel\core\lib\config\partial.js:95:62) 在 loadPrivatePartialConfig.next() 处函数。(F:\Project\frontend-project-lvl1\node_modules@babel\core\lib\config\partial.js:120:25) 在 Generator.next () at evaluateSync (F:\Project\frontend-project-lvl1\ node_modules\gensync\index.js:244:28) 在 Function.sync (F:\Project\frontend-project-lvl1\node_modules\gensync\index.js:84:14) 在 Object. (F:\Project\frontend-project-lvl1\node_modules@babel\core\lib\config\index.js:41:61) 在对象。(F:\Project\frontend-project-lvl1\node_modules\babel-loader\lib\index.js:151:26) at Generator.next () at asyncGeneratorStep (F:\Project\frontend-project-lvl1\node_modules\ babel-loader\lib\index.js:3: 103) 在 _next (F:\Project\frontend-project-lvl1\node_modules\babel-loader\lib\index.js:5:194) 在 F:\Project\frontend-project-lvl1\node_modules\babel-loader\ lib\index.js:5:364 at new Promise () at Object. (F:\Project\frontend-project-lvl1\node_modules\babel-loader\lib\index.js:5:97) 在 Object._loader (F:\Project\frontend-project-lvl1\node_modules\babel-loader\ lib\index.js:231:18) 在 Object.loader (F:\Project\frontend-project-lvl1\node_modules\babel-loader\lib\index.js:64:18) 在 Object. (F:\Project\frontend-project-lvl1\node_modules\babel-loader\lib\index.js:59:12) \Project\frontend-project-lvl1\node_modules\babel-loader\lib\index.js:5:97) 在 Object._loader (F:\Project\frontend-project-lvl1\node_modules\babel-loader\lib\index .js:231:18) 在 Object.loader (F:\Project\frontend-project-lvl1\node_modules\babel-loader\lib\index.js:64:18) 在 Object. (F:\Project\frontend-project-lvl1\node_modules\babel-loader\lib\index.js:59:12) \Project\frontend-project-lvl1\node_modules\babel-loader\lib\index.js:5:97) 在 Object._loader (F:\Project\frontend-project-lvl1\node_modules\babel-loader\lib\index .js:231:18) 在 Object.loader (F:\Project\frontend-project-lvl1\node_modules\babel-loader\lib\index.js:64:18) 在 Object. (F:\Project\frontend-project-lvl1\node_modules\babel-loader\lib\index.js:59:12)

我的配置是: package.json

{

  "name": "frontend-project-lvl1",
  "version": "1.0.0",
  "description": "",
  "main": "Main.js",
  "scripts": {
    "build": "webpack",
    "start": "webpack --watch"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/an-palna/frontend-project-lvl1.git"
  },
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/an-palna/frontend-project-lvl1/issues"
  },
  "homepage": "https://github.com/an-palna/frontend-project-lvl1#readme",
  "devDependencies": {
    "@babel/core": "^7.9.6",
    "@babel/preset-env": "^7.9.6",
    "babel-loader": "^8.1.0",
    "css-loader": "^3.5.3",
    "extract-text-webpack-plugin": "^4.0.0-beta.0",
    "node-sass": "^4.14.1",
    "sass-loader": "^8.0.2",
    "style-loader": "^1.2.1",
    "webpack": "^4.43.0",
    "webpack-cli": "^3.3.11"
  },
  "files": [
    "dist"
  ]

}

webpack.config.js

const path = require('path');
const ExtractTextPlugin = require("extract-text-webpack-plugin");

module.exports = {
  entry: './src/app.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  },
  module: {
    rules: [
      {
        test: /\.scss$/,
        use: ExtractTextPlugin.extract({
          fallback: 'style-loader',
          use: ['css-loader', 'sass-loader']
        })
      },
      {
      test: /\.m?js$/,
      exclude: /(node_modules|bower_components)/,
      use: {
        loader: 'babel-loader',
        options: {
        presets: [
                ['@babel/preset-env', { modules: false }]
              ]        
              }
      }
    }
    ]
  },
  plugins: [
    new ExtractTextPlugin('style.css')
  ]
};

babel.config

module.exports = {
  presets: [
    ['@babel/present-env', {
      targets: {
        node: 'current',
        firefox: '60',
        chrome: '67',
        safari: '11.1',
      },
    }],
  ],
};

.babelrc

{
    "presets": [
        "@babel/preset-env"
    ]
}

标签: javascriptnode.jsnpmwebpackbabeljs

解决方案


['@babel/present-env'将 , {更改为['@babel/preset-env', 在你的babel.config


推荐阅读