【问题标题】:Module build failed: Error: Cannot find module '@babel/core'模块构建失败:错误:找不到模块'@babel/core'
【发布时间】:2018-02-08 19:49:34
【问题描述】:

所以我对 webpack 有点陌生,因为我从来没有创建过自己的工作流程,我现在第一次尝试建立一个环境来编译 ES2015+ JS 和 SCSS 代码。出于某种原因,当我尝试编译我的 webpack 时,我收到错误 Module build failed: Error: Cannot find module '@babel/core'。然而我已经用npm install安装了它

Webpack.config.js

module.exports = {
    entry: './components/js/app.js',
    output: {
        filename: './dist/main.js'
    },
    module: {
        loaders: [
            {test: /\.js$/, loader: "babel-loader", exclude: /node_modules/},
            {test: /\.scss$/, loader: "style-loader!css-loader!sass-loader"}
        ],


    }
}

.babelrc

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

Package.json

{
  "name": "webpack-env",
  "version": "1.0.0",
  "description": "Webpack",
  "main": "components/js/app.js",
  "scripts": {
    "build": "webpack"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/preset-env": "^7.0.0-beta.39",
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.2",
    "css-loader": "^0.28.5",
    "node-sass": "^4.5.3",
    "sass-loader": "^6.0.6",
    "style-loader": "^0.18.2",
    "webpack": "^3.4.1"
  },
  "dependencies": {}
}

我有什么遗漏吗?

【问题讨论】:

    标签: javascript webpack babeljs


    【解决方案1】:

    好吧,经过一番挖掘,我发现了问题。问题是我安装了更新版本的 babel,@babel/preset-env,它是 babel 版本 7。版本 6 不是这样工作的(我相信,不确定),对于版本 6,你必须运行 npm install --save-dev babel-preset-env而不是像我那样npm install --save-dev @babel/preset-env

    .babelrc 文件变为

    {
      "presets": ["env"]
    }
    

    【讨论】:

      【解决方案2】:

      这为我解决了 babel 7 的问题。

      .babelrc 文件内部

      {
      "presets": [
          [
            "@babel/preset-env",
            {
              "modules": "commonjs",
              "targets": {
                "node": "current"
              }
            }
          ]
        ]
      }
      

      https://github.com/babel/babel-loader/issues/616#issuecomment-386107677

      编辑: 这也有效。

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

      【讨论】:

        【解决方案3】:

        为了使用 Babel 7,我相信你的 .babelrc 文件应该有以下或类似的:

        {
          "presets": [
            [
              "@babel/preset-env", 
              {
                "targets": {
                  "node": "current"
                }
              }
            ]
          ]
        }
        

        【讨论】:

          【解决方案4】:

          Babel 文档: https://babeljs.io/setup#installation

          单击节点按钮并查看步骤。 我也尝试过的观察 .babelrc 文件对我不起作用:

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

          但使用的是:babel.config.json 文件,而不是。

          【讨论】:

          • 解决问题的另一个版本:1)npm install --save-dev @babel/core 2)npm install @babel/preset-env --save-dev 3)添加到package.json : "presets": ["@babel/preset-env"], "type": "module"
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-03-03
          • 2017-05-05
          • 2018-09-10
          • 2021-01-03
          • 1970-01-01
          相关资源
          最近更新 更多