我需要访问来自不同文件的函数,例如:
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(会话);
你得到了什么?