在节点命令行中未定义require

问题描述

我有一个打字稿项目,该项目可以正常编译并运行,但是现在出现错误
每当我尝试运行节点时,ReferenceError: require is not defined

我不能完全确定这是一个Typescript问题,因为当我使用require运行一个简单的普通js文件时,会遇到相同的错误我有点困惑,因为在使用node index.js时应该定义require是吗?

tsconfig.json

{
  "compilerOptions": {
    "target": "es5","module": "commonjs","esModuleInterop": true,"moduleResolution": "node","noImplicitAny": false,"removeComments": true,"allowSyntheticDefaultImports": true,"outDir": "dist/","sourceMap": false
  },"include": ["src/"],"exclude": ["node_modules","**/*.spec.ts"]
}

解决方法

问题是我在package.json中启用了对ES6模块的实验性支持。

"type": "module"中删除选项package.json解决了我所有的问题。

查看此处:ECMAScript modules on Official NODEjs docs

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...