【发布时间】:2022-02-12 04:14:48
【问题描述】:
我正在 nodejs 上创建一个应用程序,该应用程序必须读取安装位置中文件夹的内容。安装程序在安装位置创建目录“cert”。 我的代码是:
const dircert = './cert'
files = fs.readdirSync(dircert)
if (!files.length) {
***some code***
} else {
files.forEach(file => {
if (path.extname(file) == '.key') {
pathkey = path.resolve(dircert, file)
}
if (path.extname(file) == '.crt') {
pathcert = path.resolve(dircert, file)
}
})
这在 Windows 中运行良好,但在 Linux 中却不行。安装程序无法读取内容。我需要更改什么以确保它在两者中都有效?我对linux很陌生。 该应用程序安装在 Windows 的 ProgramFiles 中,但安装在 linux 的 /opt/AppName 中。请提出建议。
编辑添加:所以这个 cert 文件夹在 linux 的 /opt/AppName/ 和 Windows 的 c:/ProgramFiles/company/App Name/ 下创建。虽然此代码在 Windows 上运行良好,但在 linux 上,此代码尝试在根目录下查找证书。如何确保它在 /opt/AppName 的安装位置查找文件夹,并且它应该在两个平台上都可以工作。
【问题讨论】:
-
您可能需要提供有关您正在做什么和正在使用的工具的更多信息。当我修复错别字时,上面的代码在 Linux 上对我有用。 (您缺少一个结束的“}”。)“安装程序”是什么意思?你能描述一下吗?这可能与您首先要查找文件的相对位置有关。
-
添加了更多信息。
标签: node.js linux windows unix fs