111 votes

Le fichier Babel est copié sans être transformé

J'ai ce code :

"use strict";

import browserSync from "browser-sync";
import httpProxy from "http-proxy";

let proxy = httpProxy.createProxyServer({});

et j'ai installé babel-core y babel-cli globalement via npm. Le problème est que lorsque j'essaie de compiler avec cela sur mon terminal :

babel proxy.js --out-file proxified.js

Le fichier de sortie est copié au lieu d'être compilé (c'est-à-dire qu'il est le même que le fichier source).

Qu'est-ce que je rate ici ?

0 votes

Est-ce que le let changer pour var mais le import les déclarations restent-elles ?

0 votes

Pour les versions plus récentes de react, utilisez les nouveaux modules babel : stackoverflow.com/a/53927457/6665568 . Il a de meilleurs messages d'erreur et supporte les nouvelles fonctionnalités de react.

1voto

Micah Stubbs Points 160
npm install --save-dev babel-preset-node5

npm install --save-dev babel-preset-react

...et ensuite créer un .babelrc avec les préréglages :

{
  "presets": [
    "node5",
    "react"
  ]
}

...a résolu un problème très similaire pour moi, avec babel 3.8.6 et le nœud v5.10.1

https://www.npmjs.com/package/babel-preset-node5
https://www.npmjs.com/package/babel-preset-react

1voto

robro Points 293

Même erreur, cause différente :

Le transpilage avait fonctionné auparavant, puis a soudainement cessé de fonctionner, les fichiers étant simplement copiés tels quels.

Il s'avère que j'ai ouvert le .babelrc à un moment donné et Windows a décidé d'ajouter .txt au nom du fichier. Maintenant que .babelrc.txt n'a pas été reconnu par Babel. En retirant le .txt a réglé ce problème.

0voto

OSP Points 166

Corrigez votre .babelrc

{
  "presets": [
    "react",
    "ES2015"
  ]
}

0voto

Legends Points 6728

En 2018 :

Installez les paquets suivants si vous ne l'avez pas encore fait :

npm install babel-loader babel-preset-react

webpack.config.js

{
    test: /\.jsx?$/,
    exclude: /node_modules/,
    use: [
      {
        loader: 'babel-loader',
        options: {
          presets: ['es2015','react']  // <--- !`react` must be part of presets!
        }
      }
    ],
  }

0voto

Aduku Points 49

La solution ultime

J'ai gaspillé 3 jours sur ça

import react from 'react' unexpected identifier

J'ai essayé de modifier webpack.config.js y package.json et en ajoutant .babelrc l'installation et la mise à jour de paquets via npm J'ai visité de très nombreuses pages, mais rien n'a fonctionné.


Qu'est-ce qui a marché ? Deux mots : npm start. C'est bien ça.

exécuter le

npm start 

dans le terminal pour lancer un serveur local

...

(attention, cela peut ne pas fonctionner immédiatement mais peut-être seulement après avoir fait un peu de travail sur npm parce qu'avant d'essayer, j'avais supprimé tous les changements dans ces fichiers et cela a fonctionné, donc une fois que vous avez vraiment terminé, considérez-le comme votre dernier recours. )


J'ai trouvé cette information sur cette page soignée . Il est en polonais mais n'hésitez pas à utiliser Google translate.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X