模块构建失败:错误:找不到模块“@babel/core”。

8

我对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": {}
}

我是否漏掉了什么重要的内容?

4个回答

7

经过一番搜索,我终于找到了问题所在。问题在于我安装了更新版本的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

0

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

点击Node按钮并查看步骤。 观察.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"
- Caesarius
如果你把这个作为答案,人类就能够读懂它。 - undefined

0
为了使用 Babel 7,我相信你的 .babelrc 文件应该包含以下或类似内容:
{
  "presets": [
    [
      "@babel/preset-env", 
      {
        "targets": {
          "node": "current"
        }
      }
    ]
  ]
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接