web-dev-qa-db-fra.com

"Erreur de syntaxe: jeton non valide ou inattendu" lors de l'exécution d'un script avec node.js

je reçois le message d'erreur suivant du terminal (powershell) lorsque j'essaie d'exécuter mon fichier echo.js à l'aide du noeud js

PS C:\Users\ASUS\Dropbox\Web Development\Backend\Intro To Node> node echo.js
C:\Users\ASUS\Dropbox\Web Development\Backend\Intro To Node\echo.js:1
(function (exports, require, module, __filename, __dirname) { ��
                                                              ^

SyntaxError: Invalid or unexpected token
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:616:28)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Function.Module.runMain (module.js:693:10)
    at startup (bootstrap_node.js:188:16)
    at bootstrap_node.js:609:3
3
Apetsi Ampiah

Votre fichier echo.js contient très probablement le codage UTF-16LE, qui est un codage que node ne prend pas en charge. (Les �� sont les caractères BOM (marque d'ordre d'octet Unicode), que node interprète mal comme données).

Pour résoudre ce problème, enregistrez echo.js en utilisant UTF-8encoding . Bien que vous puissiez choisir UTF-8 avecune nomenclature, ce n'est pas nécessaire et il vaut mieux l'éviter.

4
mklement0

Sous Mac, utilisez TextEdit. Accédez à FORMAT et sélectionnez Créer un texte brut. Ensuite, lors de la sauvegarde du fichier, choisissez le codage en texte brut comme Personnaliser la liste de codage, sélectionnez Unicode (UTF-8) et désélectionnez tout le reste. 

En outre, vous obtenez cette erreur lorsque vous copiez du code coller. Dans ce cas, assurez-vous de remplacer les guillemets simples, le format étant différent lorsque vous copiez du code collé. Le remplacement devrait faire disparaître l'erreur.

0
user9414378