gpt4 book ai didi

Typescript baseUrl 不影响 VS Code 中的模块解析

转载 作者:搜寻专家 更新时间:2023-10-30 21:10:18 24 4
gpt4 key购买 nike

鉴于下面描述的项目,我得到以下错误:

[ts] Cannot use 'new' with an expression whose type lacks a call or construct signature.

[tslint] Module 'Enums' is not listed as dependency in package.json (no-implicit-dependencies)

我在VS Code中打开的项目文件夹结构:

root/
-- tsconfig.json
-- src/
---- web/
------ src/
-------- ts/
---------- Navbar.ts (with exported namespace "Navbar")
---------- Shared/
------------ Other.ts

我的 tsconfig.json:

{
"compilerOptions": {
"baseUrl": "./src/web/src/ts/"
}
}

Navbar.ts 中的导航栏模块:

export namespace Navbar {
export class NavbarHandler {
...
}
}

在 Other.ts 中导入导航栏:

import { Navbar } from "Navbar";

const navbar = new Navbar.NavbarHandler();

据我所知,我的 baseUrl 是正确的并且被 VS Code 识别 - 当我将鼠标悬停在 Other.ts 中的 “Navbar” 上时,VS Code 显示 Navbar 的正确模块路径.

我做错了吗?有什么我没有考虑到的或者我的配置中遗漏了什么吗?

最佳答案

你有这个错误是因为你的 tslint 配置中的 no-implicit-dependencies 规则。

目前没有配置此规则以使用相对路径的选项。所以,如果你想使用相对路径——你需要禁用这个规则。将 "no-implicit-dependencies": false 放入您的 tslint.json 文件中。

以下是关于使此规则可配置的持续讨论: https://github.com/palantir/tslint/issues/3364 , https://github.com/palantir/tslint/issues/3483

Here您还可以找到一些 hacky 解决方法。

关于Typescript baseUrl 不影响 VS Code 中的模块解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48270946/

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