gpt4 book ai didi

typescript - tsconfig.js 排除属性在使用导入模块时不起作用

转载 作者:行者123 更新时间:2023-12-05 06:41:26 26 4
gpt4 key购买 nike

我现在很抓狂,为什么我的 typescript 编译 (tsc) 总是尝试编译 node_modules 文件,即使我已经指定排除这个文件夹。

[tl;dr;:这是因为我有导入但我不知道如何从编译中排除导入]

我正在使用 Visual Studio Code,但在直接从命令行运行 tsc 时遇到同样的问题

我的项目结构是一个典型的:

.
|
--node_modules\..
|
--src\..
|
--typings

在我的根目录中,我有一个包含以下内容的 tsconfig.json:

{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"noImplicitAny": false,
"sourceMap": false,
"watch": false
},
"compileOnSave": true,
"exclude":
[
"node_modules"
]
}

但是当我编译时(直接在命令行中使用 tsc 或通过 visual studio 代码)我从\node_modules\angular.. 看到了无数的错误。

现在,我确实在我的 typescript 文件中使用了 import 语句(因为我最终想使用 webpack):

import * as angular from 'angular';
import router from 'angular-ui-router';

所以, typescript 编译器似乎试图导入这些角度模块并编译...

我尝试在 tsconfig.json 中使用 --noResolve 选项,但随后我的源文件抛出找不到这些模块的错误。

我有什么方法可以告诉 typescript 编译器不编译从文件夹 xyz 导入的模块?

最佳答案

最后,我的解决方案不是通过调整 tsconfig.json 文件,但要使用新的 --skipLibCheck 标志调用编译器(在 TypeScript 2.0 中添加 - 参见 here in the typescript wiki )

>tsc --skipLibCheck

我还从我的 tsconfig.json 中删除了 exclude 属性(因为“exclude”属性在未指定时默认排除 node_modules(参见 typescript docs ) .

关于typescript - tsconfig.js 排除属性在使用导入模块时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40547903/

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