簡體   English   中英

產卵babel-node ENOENT

[英]spawn babel-node ENOENT

我正在從頭開始用yarn而不是npm建造一個反應應用,因為紗線比npm快。 我沒有使用create-react-app命令創建我的反應應用程序,只是為了確保我從頭開始做所有事情。

我有一個webpack文件,其中包含從webpack站點復制的基本配置代碼段。

請參閱我使用babel-node來運行我的項目,因為我在節點server.js文件中import了ES6。

在下面的文件中,告訴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

在此輸入圖像描述

我試圖用yarn pm2 logs ,但我沒有得到太多信息..請參閱下面的截圖

在此輸入圖像描述

注意:請參閱,我使用yarn add --dev命令添加我的包

問題:我收到了spawn babel-node ENOENT錯誤。 我怎樣才能確保我不碰到這個。

並非所有webpack配置都適用於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'
}
};

我終於在鏈接的幫助下解決了這個問題

我必須在全局安裝babel-cli以使pm2正確運行babel-node。

在此輸入圖像描述

如果您使用的是最新的babel(^ 7.0.0),您應該以這種方式安裝'babel-node':

sudo npm i -g @babel/node

不要通過這種方式安裝,因為它只適用於babel 6:

npm install -g babel-cli

文檔看起來過時,適合babel 6版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM