gpt4 book ai didi

Typescript 未从 'node_modules' 文件夹中找到第 3 方模块

转载 作者:行者123 更新时间:2023-12-04 12:44:35 27 4
gpt4 key购买 nike

我正在开发一个普通的 Typescript 应用程序,并成功地使用我创建的导入模块对其进行了测试,这些模块是项目的一部分。现在我正在尝试从“node_modules”文件夹中包含一个第 3 方模块,但编译器无法找到该模块。

import * as pnp from '@pnp/pnpjs';

以下是我对 tsconfig 的设置:

{
"compileOnSave": true,
"compilerOptions": {
"types": [],
"sourceMap": true,
"module": "amd",
"target": "es5",
"noEmitOnError": true,
"outDir": "./dist"
},
"exclude": [
"node_modules",
"obj",
"bin"
]
}

下面是我的 package.json:

{
"version": "1.0.0",
"name": "OSD.SharePointHostedApp",
"private": true,
"devDependencies": {
"@types/chai": "^4.1.7",
"@types/sharepoint": "^2013.1.6"
},
"dependencies": {
"jquery": "^3.3.1",
"@pnp/pnpjs": "^1.2.5",
"chai": "^4.2.0"
}
}

typescript 版本:1.0.3.0。 (我尝试更新到最新版本,但它仍然显示 1.0.30.0,也许是因为这个??)

我在这里错过了什么?我已经检查并验证了第 3 方模块存在于 node_modules 中。

更新

版本有问题。即使我已经安装了最新版本的 typescript 3.1.6,它也没有被选中,而是显示了旧版本 1.0.3.0。不知何故,Typescript 1.0 作为 Microsoft SDK 的一部分安装在文件夹 C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0 中。我删除了那个文件夹,现在当我执行 tsc -v 时,显示最新版本号-> 3.1.6 。但是原来的问题依旧存在

最佳答案

要让 TypeScript 在 node_modules 下查找模块,必须将 moduleResolution 选项设置为 node。当 module 选项设置为 amd 时,moduleResolution 的默认值为 classic。 (参见 compiler options table。)因此,您必须在 tsconfig.json 中指定 "moduleResolution": "node"

关于Typescript 未从 'node_modules' 文件夹中找到第 3 方模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53286997/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com