NodeJS fs 模块在 Openshift 中不起作用



我在 Openshift 上将此模块用于我的应用程序,但是当它需要执行检查数据文件夹中是否存在文件的函数时,会出现错误:

DEBUG: /var/lib/openshift/02A50df2XXYD46273d00FFG8/app-root/runtime/repo/server.js:164
        fs.exists('$OPENSHIFT_HOMEDIR/app-root/data/' + user_ip, function(exis
           ^
DEBUG: TypeError: Object #<Object> has no method 'exists'

我在服务器代码中有需要 fs,它在 package.json 的依赖项中

编辑:已解决

使用require('path')path.exists()它工作得很好。

fs.exists()已被弃用。而是使用 path.exists()。有关路径的更多信息,请参阅节点核心路径模块。

建议:
根据 API 文档 http://nodejs.org/api/fs.html#fs_fs_exists_path_callback

fs.exists() 是一个时代错误,只是出于历史原因而存在。几乎永远不应该有理由在你自己的代码中使用它。

特别是,在打开文件之前检查文件是否存在是一种反模式,使您容易受到争用条件的影响:另一个进程可能会在调用 fs.exists() 和 fs.open() 之间删除该文件。只需打开文件并在不存在时处理错误即可。

至于你的问题:你能打其他fs电话吗?

最新更新