javascript - SyntaxError: Kan ikke bruke import-setning utenfor en modul når du starter NodeJS fra IntellijIDEA
Jeg prøver å lage hello world-applikasjoner med React JS. Jeg opprettet NodeJS-applikasjonen i IntelliJ IDEA. Opprett en helloworld.js-fil, og legg til denne koden i denne filen
import React from 'react';
ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('root')
);
La til react-dom-avhengighet i package.json. Kjørte npm install-kommandoen. Start applikasjonen
{
"name": "testjsapp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"react-dom": "^16.12.0"
}
}
Feil :
"C:\Program Files\nodejs\node.exe" D:\projects\testjsapp\hello\helloworld.js
D:\projects\testjsapp\hello\helloworld.js:2
import React from 'react';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at Module._compile (internal/modules/cjs/loader.js:891:18)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
at Module.load (internal/modules/cjs/loader.js:811:32)
at Function.Module._load (internal/modules/cjs/loader.js:723:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10)
at internal/main/run_main_module.js:17:11
Process finished with exit code 1
Svar #1
Du prøver å kjøre et React-program i Node.js, men det er designet for å kjøre i en nettleser. Det finnes ingen DOM i Node.js som du kan manipulere. Det kommer rett og slett ikke til å fungere.
Siden programmet du kjører bruker JSX, må du transpile det før det også vil fungere der.
Gå tilbake til veiledningen. Seksjonen om å sette opp et lokalt utviklingsmiljø gir en tilnærming for å komme i gang, eller du kan se på et utvalg av verktøyskjeder som du kan velge mellom.
Svar #2
sjekk din nåværende versjon
node -v
Oppdater node-versjonen din til siste 13.X
Oppdater nodejs
Og kjør for å opprette React-app
npx create-react-app my-app
cd my-app
npm start
referanse For å lage react-app
og kryssjekk det med din eksisterende søknad, om nødvendig
