0

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

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'

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

编辑:解决

使用require('path')并且path.exists()效果很好。

4

2 回答 2

1

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

于 2013-11-14T19:30:52.667 回答
0

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

fs.exists() 是不合时宜的,仅出于历史原因而存在。几乎不应该有理由在您自己的代码中使用它。

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

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

于 2013-11-14T18:46:36.473 回答