ERROR in找不到模块'babel-core'.使用react.js,webpack和express服务器

Ric*_*tos 80 javascript express reactjs webpack babeljs

每当我webpack在终端跑步时,我得到:

Hash: efea76b1048c3a97b963
Version: webpack 1.12.13
Time: 33ms
    + 1 hidden modules

ERROR in Cannot find module 'babel-core'
Run Code Online (Sandbox Code Playgroud)

这是我的webpack.config.js文件

module.exports = {
  entry: './app-client.js',
  output: {
    filename: 'public/bundle.js'
  },
  module: {
    loaders: [
      {
        exclude: /(node_modules|app-server.js)/,
        loader: 'babel'
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

的package.json

{
  "name": "react",
  "version": "1.0.0",
  "description": "React polling app",
  "main": "app-client.js",
  "dependencies": {
    "babel-loader": "^6.2.2",
    "bootstrap": "^3.3.6",
    "express": "^4.13.4",
    "react": "^0.14.7"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}
Run Code Online (Sandbox Code Playgroud)

Che*_*tan 148

你应该在npm install时安装babel-loader和babel-core作为dev-dependency.

npm install babel-core babel-loader --save-dev
Run Code Online (Sandbox Code Playgroud)

  • 我仍然得到:`错误:无法找到模块'@ babel/core'babel-loader @ 8需要Babel 7.x(包'@ babel/core').如果你想使用Babel 6.x('babel-core'),你应该安装'babel-loader @ 7'. (4认同)
  • 加载程序v8似乎需要核心v7,但是核心v7当前只有一个beta版本,这似乎是维护者的疏忽。我为“ babel-loader”(目前已发布的最新版本)手动指定了“ 7.1.5”,然后我就可以运行了 (3认同)

Cou*_*ame 33

对于那些想要使用babel-loader 8+的人:它需要Babel 7.x ,,它将被安装为'@ babel/core'包而不是'babel-core'.换句话说,运行:

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

  • 那我猜你没有使用 babel-loader 8+。我为那些碰巧正在升级/启动新项目但没有意识到为什么由于包重命名而无法正常工作的人回答了这个问题。无需投票,同时明确说明它适用于哪个版本。 (2认同)

the*_*ian 12

我刚刚遇到这个错误,并通过安装babel-core解决了.但有趣的是我发现babel-core确实存在于babel-loader的peerDependencies中.

https://github.com/babel/babel-loader/blob/master/package.json

为什么peerDependecies没有自动安装,经过几次搜索工作后我在npm blog中找到了这个.

peerDependencies不再自动安装.


bp4*_*p4D 5

在此线程上添加@Chetan的答案:

今天,我在这里浏览Axel Rauschmayer博士的书时遇到了这个问题。每本书也babel-loader应下载babel-core。但是,当我尝试时并非如此。我认为这与@theJian的答案有关。

由于原始package.json已经babel-loader列为依赖项,因此运行以下命令可以解决该错误。

npm install babel-core --save-dev
Run Code Online (Sandbox Code Playgroud)