spawn babel-node ENOENT - PullRequest
       102

spawn babel-node ENOENT

0 голосов
/ 03 февраля 2019

Я создаю приложение реагирует с нуля с yarn, а не npm, поскольку пряжа быстрее, чем npm.Я не использую команду create-react-app для создания своего приложения реагирования, просто чтобы убедиться, что я все делаю с нуля.

У меня есть файл веб-пакета с фрагментом базовой конфигурации, скопированный с сайта веб-пакета .

Пожалуйста, смотрите, я использую babel-node для запуска своего проекта, поскольку у меня есть ES6 import в моем файле server.js узла.

В файле ниже, чтобы указать pm2, чтобы использоватьbabel-node вместо обычного node, используется интерпретатор

package.json

 {
  "name": "advanced-react",
  "version": "1.0.0",
  "main": "lib/server.js",
  "author": "GopiGorantala",
  "license": "MIT",
  "scripts": {
    "dev": "pm2 start lib/server.js --watch --interpreter babel-node"
  },
  "babel": {
    "presets": [
      "react",
      "env",
      "stage-2"
    ]
  },
  "devDependencies": {
    "babel-eslint": "^10.0.1",
    "eslint": "^5.13.0",
    "eslint-plugin-react": "^7.12.4"
  },
  "dependencies": {
    "babel-preset-env": "^1.7.0",
    "babel-preset-react": "^6.24.1",
    "babel-preset-stage-2": "^6.24.1",
    "ejs": "^2.6.1",
    "express": "^4.16.4",
    "pm2": "^3.2.9"
  }
}

server.js

import express from 'express';
import config from './config';

const app = express();

app.use(express.static('public'));

app.set('view engine', 'ejs');

app.get('/', (req, res) => {
  res.render('index', {answer: 42});
});

app.listen(config.port, function listenHandler() {
  console.info(`running on ${config.port}`);
});

прия запускаю свое приложение с yarn dev, я не получаю сервер как онлайн, но вместо этого я получаю как errored

enter image description here

Я пыталсяпроверьте журналы с помощью yarn pm2 logs, чтобы проверить ошибку, но я не получаю много информации .. Пожалуйста, смотрите скриншот ниже

enter image description here

Примечание: пожалуйставидите, я добавляю свои пакеты, используя команду yarn add --dev

Вопрос: Я получаю spawn babel-node ENOENT ошибку.Как я могу убедиться, что не столкнулся с этим.

Ответы [ 3 ]

0 голосов
/ 03 февраля 2019

Я наконец решил это с помощью link

Я должен установить babel-cli глобально, чтобы pm2 правильно запустил babel-узел ..

enter image description here

0 голосов
/ 22 августа 2019

Если вы используете последнюю версию babel (^ 7.0.0), вы должны установить 'babel-node' следующим образом:

sudo npm i -g @babel/node

Не устанавливайте таким способом, потому что онбудет работать только для Babel 6:

npm install -g babel-cli

Документация выглядит устаревшей и подходит для версии Babel 6.

0 голосов
/ 03 февраля 2019

Не все конфиги веб-пакетов работают с jsx.WP должен выглядеть примерно так.

module.exports = {
entry: './src/index.js',
module: {
 rules: [
  {
    test: /\.(js|jsx)$/,
    exclude: /node_modules/,
    use: ['babel-loader']
  }
 ]
},
resolve: {
extensions: ['*', '.js', '.jsx']
},
output: {
path: __dirname + '/dist',
publicPath: '/',
filename: 'bundle.js'
},
devServer: {
contentBase: './dist'
}
};
...