gpt4 book ai didi

javascript - 在 node.js 中更改名称后无法访问函数

转载 作者:行者123 更新时间:2023-11-29 22:49:35 26 4
gpt4 key购买 nike

我的项目中的一个文件中有一个函数,我更改了它的名称并且无法使用新名称访问它!仍然可以调用旧名称

我尝试删除 node_modules 并使用 npm i 重新安装它

有我正在使用的两个文件的代码:

soapCall.js

之前:

function call(username, password){
...
}

module.exports = call

之后:

function checkUser(username, password){
...
}

module.exports = checkUser

我是如何导入和使用的:

应用程序.js

const soap = require('../../models/soapCall');
...
soap.checkUser(username, password);

很奇怪,我仍然无法访问新的函数名称

我之前使用的是 name call 并且仍然可以在我的 app.js 文件中使用 call 函数

最佳答案

call 已作为函数原型(prototype)上的方法可用 - Function.prototype.call .这意味着 soap 是一个函数,这就是为什么 call 有效,但 checkUser 无效的原因。

soap 是一个函数,因为您要从文件中导出函数,并在主文件中简单地重命名它。如果要更改名称,请更改导入名称:

const checkUser = require("../../models/soapCall");

或者导出一个对象并这样使用它:

module.exports = { checkUser };
// Main file
const soap = require("../../models/soapCall");
soap.checkUser(...);

对象方法还允许您从一个文件中导出多个函数——您可以通过解构将它们放入它们自己的变量中:

module.exports = { checkUser, otherFunc };
// Main file
const { checkUser, otherFunc } = require("../../models/soapCall");
checkUser(...); // Calls checkUser function
otherFunc(...); // Calls otherFunc function

关于javascript - 在 node.js 中更改名称后无法访问函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57722888/

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