节点打字稿导入/导出机制

问题描述 投票:0回答:1

我在webstorm中遇到打字稿导入/导出机制的问题。可以说,我有一个名为apiUtils.ts的以下文件:

export function getUsername(req) {
    return req.headers.username;
}

export default module.exports;

而且我还有另一个文件,它引用了apiUtils.ts:

import apiUtils from "../bin/apiUtils";

const req = '';
const username = apiUtils.getUsername(req);

getUsername方法无法即时识别,我无法通过ctrl + click导航到该方法。它被标记为未使用,我什至可以编写以下代码并成功编译代码而不会收到错误:

import apiUtils from "../bin/apiUtils";

const req = '';
const username = apiUtils.getUsername(req, thereIsNoSecontArgInThisMehod);

另一方面,如果我按如下方式导入方法:

import { getUsername } from "../bin/apiUtils";

const req = '';
const username = getUsername(req);

并且一切都会按预期进行:我得到了导航,输入验证等。>

我更喜欢使用import apiUtils from "../bin/apiUtils";而不是分别导入每个方法,因为它会造成方法的混乱,不清楚它们的位置,无论它们是本地的。

是否有一种方法可以修复导入,并使其了解所引用的方法?因为对于运行时,两种方法都工作相同。

我在webstorm中遇到打字稿导入/导出机制的问题。可以说,我有一个名为apiUtils.ts的以下文件:导出函数getUsername(req){return req.headers.username; } ...

node.js typescript import webstorm
1个回答
0
投票

发生这种情况是由于export default module.exports的构造-我所知道的所有IDE都无法处理它们。

© www.soinside.com 2019 - 2024. All rights reserved.