1
votes

spawn babel-node ENOENT

Je crée une application react à partir de zéro avec yarn et non npm car le fil est plus rapide que npm. Je n'utilise pas la commande create-react-app pour créer mon application react juste pour m'assurer de tout faire à partir de zéro.

J'ai un fichier Webpack avec un extrait de configuration de base copié depuis site webpack .

Veuillez voir J'utilise babel-node pour exécuter mon projet, car j'ai ES6 import dans mon fichier node server.js .

Dans le fichier ci-dessous, pour dire pm2 code > pour utiliser babel-node au lieu du node normal, interpréteur est utilisé

package.json

XXX

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}`);
});

lorsque j'exécute mon application avec yarn dev , je n'obtiens pas le serveur en ligne, mais à la place, je reçois comme errored

entrez la description de l'image ici

J'ai essayé de vérifier les journaux avec journaux pm2 de fil pour vérifier sur l'erreur mais je n'obtiens pas beaucoup d'informations .. Veuillez voir la capture d'écran ci-dessous

 entrez la description de l'image ici

Remarque: veuillez voir, je suis ajouter mes paquets en utilisant la commande yarn add --dev

Question: Je reçois une erreur spawn babel-node ENOENT . Comment puis-je m'assurer que je ne rencontre pas cela?


0 commentaires

3 Réponses :


1
votes

Toutes les configurations Webpack ne fonctionnent pas avec jsx. WP devrait ressembler à quelque chose comme ça.

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'
}
};


4 commentaires

essayé, mais cela n'a pas fonctionné, peut-être que cela a quelque chose à voir avec les paramètres de babel. pm2 ne peut pas contacter le babel-cli pour une raison quelconque.


Je suis en train de vérifier les babel préréglages .. s'il vous plaît laissez-moi savoir s'il y a un problème avec les paramètres de babel dans mon package.json


merci @stever, après votre commentaire, je suis allé de l'avant et j'ai ajouté l'entrée jsx dans webpack.


Heureux de l'entendre!



3
votes

J'ai finalement résolu ce problème avec l'aide du lien

Je dois installer babel-cli globalement pour que pm2 exécute le babel-node correctement ..

 entrez la description de l'image ici


0 commentaires

1
votes

Si vous utilisez la dernière version de babel (^ 7.0.0), vous devez installer 'babel-node' de cette façon:

sudo npm i -g @ babel / node

N'installez pas de cette manière, car cela ne fonctionnera que pour babel 6:

npm install -g babel-cli

La documentation semble obsolète et adaptée à la version babel 6.


0 commentaires