gpt4 book ai didi

javascript - Node.js 中的函数导出在 VSCode 中显示为属性

转载 作者:行者123 更新时间:2023-12-02 22:42:12 25 4
gpt4 key购买 nike

这在技术上并不是错误的,所以我没有在 GitHub 上提交错误,但似乎应该有更好的行为(或者也许是我可以定义导出的更好方法)。

假设我有:

function one() {
// do stuff
}

function two() {
one()
}

module.exports = {one, two};

在另一个文件中,当我需要此模块时,onetwo 都显示为对象属性(蓝色图标)。 VSCode 似乎没有意识到它们实际上是函数。如果您定义命名匿名函数(例如 module.exports = {one: function () {}}; ),这也是相同的行为,以这种方式编写是有意义的。但是,如果我只是想让一个函数在导出中显示为函数,那么我似乎可以使其工作的唯一方法是:

module.exports = {
one() { /* do stuff */ },
two() { /* do more stuff */},
};

这在某些情况下有效,但如果 two 需要调用 one 并且两个函数都需要导出,则必须使用 this. 来访问其他成员。

如何在模块中定义一堆可以互相利用的函数,并将它们全部导出,以便它们在 VSCode 中的其他模块中显示为函数(紫色图标)?

编辑

这里的问题是让 VSCode 在从其他模块需要函数时识别并提示函数,而不是将它们显示为模块的“属性”。

最佳答案

这种方法可以让您导出函数并调用本地函数:

let self = {
one: function() {
return 'one';
},
two: function() {
return self.one();
}
};
module.exports = self;

另一方面,如果您的蓝色图标仍未显示,您可以命名您的函数:

let self = {
one: function SayOne() {
return 'one';
},
two: function CallOne() {
return self.one();
}
};
module.exports = self;

最后,您可以通过这种方式导入函数:

const { one, two } = require('./your_file');
console.log(two());

关于javascript - Node.js 中的函数导出在 VSCode 中显示为属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58548596/

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