如何从另一个文件访问一个函数,在nodejs?



我需要访问来自不同文件的函数,例如:

router
-users.js
-posts.js

我想访问位于users.j中的函数年代文件

从<<p> strong> posts.js我该怎么做呢?

下面是user.js文件中的函数

const writeFileToFolder = (file, userId, res, session) => {
console.log("My session and path", userId, session);
}

这是我尝试过的posts.js。但是当我执行console .log时,结果是undefined。

const {
writeFileToFolder,
file,
userId,
res,
session,
} = require("./Upload");

#更新:我只是把文件分开现在我想要访问的函数在一个文件中。我是这样做的。

exports.writeFileToFolderAccess = (file, userId, res, session) => {
const filePath = `/imageUpload/${userId}/${file.name}`;
console.log("the session", filePath);
console.log("My session and path", userId, session);
file.mv(filePath, function (err) {
if (err) {
return res.status(500).send(err);
} else {
session.uploadedFilePath = filePath;
res.json({ status: "ok", message: "File uploaded" });
}
});
};

在post.js中我有这样的导入

const acessFile = ({
writeFileToFolderAccess,
session,
} = require("../fileStructure/AccessFile"));

最后,这是我在posts。js中调用函数的方式

acessFile.writeFileToFolderAccess(session);

但是现在给出了一个错误

serverfileStructureAccessFile.js:2
const filePath = `/imageUpload/${userId}/${file.name}`;
^
TypeError: Cannot read property 'name' of undefined

sugesstion吗?

您忘记在user.js文件中的函数声明之前导出了。

export const writeFileToFolder = (file, userId, res, session) => {
console.log("My session and path", userId, session);
}

为了从另一个文件访问该函数,需要从给定的文件导出该函数。这就是你需要做的:

User.js

export.writeFileToFolder = (file, userId, res, session) => {
console.log("My session and path", userId, session);
}

但是,您也可以像这样在文件末尾导出它:

const writeFileToFolder = (file, userId, res, session) => {
console.log("My session and path", userId, session);
}
module.exports = writeFileToFolder;

posts.js

const user = require("./User.js");
// Now you can access the function. 
user.writeFileToFolder();

您在console.log中逐一尝试了吗?

console.log (userId);console.log(会话);

你得到了什么?

最新更新