ПОМИЛКА в Не вдається знайти модуль 'babel-core'. за допомогою response.js, веб-пакета та експрес-сервера


84

Кожного разу, коли я бігаю webpackв терміналі, я отримую:

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

ERROR in Cannot find module 'babel-core'

Ось мій файл webpack.config.js

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

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"
}

Відповіді:


154

Вам слід встановити babel-loader і babel-core як залежність від розробника, поки встановлюється npm.

npm install babel-core babel-loader --save-dev

працював як шарм! пам’ятайте, щоб додати його до свого, packag.jsonщоб уникнути повторної проблеми. Біг npm install з прапором -Swiil робить роботу.
andilabs

4
Я все ще отримую:Error: Cannot find module '@babel/core' babel-loader@8 requires Babel 7.x (the package '@babel/core'). If you'd like to use Babel 6.x ('babel-core'), you should install 'babel-loader@7'
pguardiario

3
Здається, навантажувач v8 потребує ядра v7, але ядро ​​v7 наразі просто має betaвипуск, що здається наглядом з боку розробників. Я вручну вказав 7.1.5для babel-loader(останньої версії, яка зараз вийшла), і я не працюю
Brian Underwood

42

Для тих, хто хоче використовувати babel-loader 8+: для цього потрібен Babel 7.x ,, який повинен бути встановлений як пакет '@ babel / core' замість 'babel-core'. Іншими словами, виконайте:

npm install --save-dev @babel/core

2
Тоді я думаю, ви не використовуєте babel-loader 8+. Я відповів на це людям, які випадково модернізують / починають новий проект, але не розуміють, чому він не працює через перейменування пакета. Не потрібно голосувати проти, поки чітко зазначено, до якої версії це стосується.
CounterFlame

12

Я просто зустрічаю цю помилку, і її вирішено шляхом встановлення babel-core. Але цікавим є те, що я виявив, що babel-core існує у peerDependencies babel-loader.

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

Чому peerDependecies не встановлюється автоматично, після кількох пошукових робіт я знайшов це в блозі npm.

peerDependencies більше не встановлюватиметься автоматично.


6

Додавання до відповіді @ Chetan у цій темі:

Я зіткнувся з цим питанням сьогодні, переглядаючи тут книгу доктора Акселя Раушмаєра . За книгу також babel-loaderслід завантажити babel-core. Однак це не той випадок, коли я спробував. Я думаю, це пов’язано з відповіддю @ theJian.

Оскільки оригінальний пакет.json вже вказаний babel-loaderяк залежність, запуск наступної команди вирішив помилку.

npm install babel-core --save-dev

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.