TypeScript 无法理解 Node.js 中库中的"import"。获取语法错误:意外的标识符?



我在Node.js中使用nanoid库,但我在TypeScript中编写后端。

当我试图编译TypeScript时,我得到:

/project/node_modules/nanoid/async/index.js:1
import crypto from 'crypto'
^^^^^^
SyntaxError: Unexpected identifier
at Module._compile (internal/modules/cjs/loader.js:872:18)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:947:10)
at Module.load (internal/modules/cjs/loader.js:790:32)
at Function.Module._load (internal/modules/cjs/loader.js:703:12)
at Module.require (internal/modules/cjs/loader.js:830:19)
at require (internal/modules/cjs/helpers.js:68:18)
at Object.<anonymous> (/project/dist/utils/generateId.js:4:17)
at Module._compile (internal/modules/cjs/loader.js:936:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:947:10)
at Module.load (internal/modules/cjs/loader.js:790:32)

这是导致它的一段代码:

import { customAlphabet } from "nanoid/async";

我以为它会很自然地起作用?

我的tsconfig.json看起来像这样:

{
"compilerOptions": {
"module": "commonjs",
"esModuleInterop": true,
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es2017",
"sourceMap": true,
"outDir": "./dist",
"baseUrl": "./",
"incremental": true,
"resolveJsonModule": true,
"paths": {
"*": ["node_modules/*", "src/*"]
}
}
}

我的节点版本是v12.10.0,打字脚本版本是v3.7.4

那行不是也应该是吗import { crypto } from 'crypto'import * as crypto from 'crypto'

尝试此import * as crypto from 'crypto'

最新更新