javascript - SyntaxError: 当从 IntellijIDEA 启动 NodeJS 时,在模块外不能使用 import 语句
我尝试用 React JS 创建 hello world 应用程序。我在 IntelliJ IDEA 中创建了 NodeJS 应用程序。创建一个 helloworld.js 文件,并将这段代码添加到该文件中
import React from 'react';
ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('root')
);
已将 react-dom 依赖添加到 package.json。执行了 npm install 命令。启动应用程序
{
"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"
}
}
错误:
"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
答案#1
你正在尝试在 Node.js 中执行一个 React 程序,但它是设计用来在 网页浏览器中运行的。Node.js 中没有可供你操作的 DOM。这根本行不通。
由于你正在运行的程序使用 JSX,你需要先将其转译,它在那里才能工作。
返回教程。有关设置本地开发环境的部分提供了一种入门方法,或者你可以查看可以选择的一些工具链。
答案#2
检查你当前的版本
node -v
将你的 Node 版本更新到最新的 13.X
更新 nodejs
然后执行以创建 React 应用
npx create-react-app my-app
cd my-app
npm start
参考 创建 React 应用
并与您现有的应用程序进行交叉检查,如有需要
