typescript 找不到名称“console”,原因可能是什么?

3htmauhk  于 2022-12-24  发布在  TypeScript
关注(0)|答案(8)|浏览(393)

下面的代码段显示了LINE 4处的打字错误:

import {Message} from './class/message';

function sendPayload(payload : Object) : any{
   let message = new Message(payload);
   console.log(message);   // LINE 4 
}

错误显示:

[ts] Cannot find name 'console'.

这可能是什么原因?为什么它找不到对象console

nhn9ugyo

nhn9ugyo1#

您必须安装@types/node以获取节点类型,您可以通过执行以下命令来实现此目的,

npm install @types/node --save-dev
elcex8rz

elcex8rz2#

在tsconfig.json的compilerOptions中的lib部分添加"dom"。
示例:

{
    "compilerOptions": {
        "rootDir": "src",
        "outDir": "bin",
        "module": "commonjs",
        "noImplicitAny": false,
        "removeComments": true,
        "preserveConstEnums": true,
        "sourceMap": true,
        "target": "es5",
        "lib": [
            "es6",
            "dom"    <------- Add this "dom" here
        ],
        "types": [
            "reflect-metadata"
        ],
        "moduleResolution": "node",
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true
    }
}
ogsagwnx

ogsagwnx3#

您可以运行npm install @types/node -D,然后还需要将types:[ 'node']添加到您的tsconfig.json中。
package.json

"devDependencies": {
    "@types/node": "^15.0.3"
}

tsconfig.json

{
  "compilerOptions": {
    "composite": true,
    "outDir": "./dist",
    "rootDir": ".",
    "declaration": true,
    "noImplicitAny": true,
    "esModuleInterop": true,
    "module": "commonjs",
    "target": "es6",
    "types": [
      "node"
    ],
    "lib": [
      "es6"
    ]
  },
  "exclude": [
    "node_modules",
    "dist"
  ]
}
pkmbmrz7

pkmbmrz74#

只需在tsconfig.json文件中添加ES6和DOM

"lib": ["ES6", "DOM"]
ltskdhd1

ltskdhd15#

您也可以使用与命令行中的@tBlabs应答相同的值,并且除了typescript之外,您不需要安装任何东西:

tsc test.ts --lib esnext,dom

您使用逗号分隔值,并且console.log不需要esnext即可工作。

gab6jxml

gab6jxml6#

我在node terminal中遇到了同样的问题,将node添加到tsconfig.jsontypes字段中解决了我的问题

lnvxswe2

lnvxswe27#

您似乎正在使用typescript,因此需要执行以下步骤。
1.使用安装全局tsc

npm I typescript --global

1.调用tsc --init如果你没有tsconfig.json已经在你的文件夹
1.如果在lib中有tsconfig.json,请考虑按如下方式包括DOM

"lib": ["DOM" ...],
yc0p9oo0

yc0p9oo08#

确认您没有从任何地方导入console。例如:
import { console } from 'console'; // Confirm you haven't a statement like this.

相关问题