node.js - 从 meteor 应用程序内的目录中读取文件

标签 node.js meteor

如何在我的/server 路径中读取 meteor 应用程序中的公共(public)目录。

我尝试使用原生 'fs' 包,但我不断收到找不到文件/目录的错误。

var fs = Npm.require('fs');
var files = fs.readdirSync('/public/soundfiles/');

有没有人使用文件系统包来读取 meteor 应用程序中的静态文件?

最佳答案

我了解到,如果您不在外面显示文件,最好将文件上传到您的私有(private)文件夹中。 在我的情况下,我需要存储 XML 上传并处理它们。 起初我将 XML 写入公用文件夹,但这会触发重新加载。 然后我将上传文件夹重命名为/public/.#uploads,这将停止重新加载 Meteor,但又一次......它在构建过程中完全忽略了该文件夹,并且上传的文件夹将不存在于构建中(在构建过程中抛出 ENOENT 错误阅读)。

所以我发现最好将文件放在/private/files 中,然后读取如下:

result = fs.readdirSync('assets/app/files')

私有(private)文件夹中的所有内容都将被移动到 Assets 文件夹,在运行期间有一个可用的 APP 文件夹(您在构建文件夹结构中看不到该文件夹​​)。

只需简单转储 result = fs.readdirSync('.') 即可查看您所在的文件夹并查看结构。

***更新***** 在本地将文件放在 private 文件夹中仍然触发了 meteor 重建/更新(可能不在生产中..)所以我找到了另一个使用 UploadServer 来定义上传目录的解决方案: https://github.com/tomitrescak/meteor-uploads

关于node.js - 从 meteor 应用程序内的目录中读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16762983/

相关文章:

javascript - 如何更正 NginX 反向代理配置中的 Meteor base-url?

mongodb - MeteorD中的MongoDB URL

meteor - 如何使用Iron Router返回404

javascript - Node-Webkit 获取用户的桌面目录

javascript - Node.Js 的简单用户身份验证

node.js - Express.js- 为什么 Localhost 是 '::'

javascript - 我可以使用 Gulp + Browserify 来实现这一点吗?我需要 Webpack 吗?

node.js - Moment.js 将日期设置为落后 1 天

javascript - 为什么 typeahead-js 不能在 Meteor 上运行,但可以在本地运行?

jquery - Meteor 加载 jQuery 的方式有什么奇怪的吗?