如何设置“类型”:“模块”? SyntaxError:无法在模块外部使用import语句

我正在尝试使用TestCafe测试我的代码

node testcafe.js 
(node:15092) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
/home/miki/restwitherrors/test/testcafe.js:1
import http from 'http';
^^^^^^

SyntaxError: Cannot use import statement outside a module

我的文件夹结构

-rw-r--r--   1 miki miki    454 мај  1 12:08 .eslintrc.json
drwxr-xr-x   8 miki miki   4096 мај 11 09:13 .git/
-rw-rw-r--   1 miki miki     13 мај  1 12:13 .gitignore
-rw-r--r--   1 miki miki   2348 мај 10 18:29 index.js
-rw-r--r--   1 miki miki 145117 мај  1 12:54 isolate-0x5c4ec90-24834-v8.log
drwxr-xr-x 356 miki miki  12288 мај 10 19:08 node_modules/
-rw-r--r--   1 miki miki    980 мај 11 09:16 package.json
-rw-r--r--   1 miki miki 148763 мај  1 12:08 package-lock.json
drwxr-xr-x   2 miki miki   4096 мај 10 18:44 test/
drwxrwxr-x   2 miki miki   4096 мај 10 19:23 .vscode/

如果我在package.json中添加“ type”:“ module”,则会遇到不同类型的问题。

node index
file:///home/miki/restwitherrors/index.js:1
const express = require("express")
                ^

ReferenceError: require is not defined

要么

node testcafe.js 
file:///home/miki/restwitherrors/test/testcafe.js:15
fixture `Test REST API`;
^

ReferenceError: fixture is not defined

如何解决这个问题?

评论