Ich habe gerade einen neuen Projektordner erstellt und die folgenden Befehle ausgeführt:
- npm init
- npm install express
- npm install express-react-views reagieren reagieren-dom
Erstellt index.js mit importiertem Express und Ansichten für eine Beispiel-jsx-Datei. Wenn ich auf localhost laufe, wird folgende Fehlermeldung angezeigt:
Error: Package exports for '<path_to_project_folder>/node_modules/@babel/helper-compilation-targets' do not define a '.' subpath
at applyExports (internal/modules/cjs/loader.js:485:15)
at resolveExports (internal/modules/cjs/loader.js:508:12)
at Function.Module._findPath (internal/modules/cjs/loader.js:577:20)
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:879:27)
at Function.Module._load (internal/modules/cjs/loader.js:785:27)
at Module.require (internal/modules/cjs/loader.js:956:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (<path_to_project_folder>/node_modules/@babel/preset-env/lib/debug.js:8:33)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Module._compile (<path_to_project_folder>/node_modules/pirates/lib/index.js:99:24)
Im Oktober 2019 habe ich eine Express-App mit denselben Schritten erstellt und festgestellt, dass es kein solches Paket gibt (@ babel / helper-compilation-target), und es lief einwandfrei.
Ich bin mir nicht sicher, was los ist. Kann jemand helfen, um zu beraten? Vielen Dank!
Antworten:
Hatte das gleiche Problem. Das Aktualisieren der node.js hat das für mich behoben
quelle
nvm install node
(wenn Sie nvm haben, wenn Sie dies nicht tun sollten)Es wird auf babel v7.8.4 behoben, siehe https://github.com/babel/babel/pull/11006 . Bevor eine neue Babel-Version geschnitten wird, aktualisieren Sie bitte node.js auf> = 13.2.0, das den erforderlichen Upstream-Fix enthält .
Beachten Sie, dass node.js 12 nur betroffen ist, wenn Sie das Flag manuell umgeschaltet haben
--experimental-modules
. Wenn dies der Fall ist, aktualisieren Sie bitte auch node.js auf> = 13.2.0.quelle
Dies scheint also eine Inkompatibilität zwischen Babel und Node.js zu sein. Die allgemeine Lösung besteht darin, zu Knoten 12 zu wechseln (z. B. wenn Sie verwenden
nvm
), da nur Knoten 13 betroffen sind:Für meine Rails 6-Anwendung war dies jedoch allein nicht ausreichend, da ich immer noch den gleichen Fehler erhielt. Darüber hinaus war es notwendig, Yarn über die Knotenversion zu informieren, die ich voraussichtlich verwenden werde. Also habe ich folgendes hinzugefügt
package.json
:quelle