如何读取我/服务器路径中的流星应用程序中的公共目录。从流星应用程序目录中读取文件
我尝试使用本机'fs'
包,但我不断收到文件/目录找不到错误。
var fs = Npm.require('fs');
var files = fs.readdirSync('/public/soundfiles/');
是否有人使用文件系统包来读取流星应用程序中的静态文件?
如何读取我/服务器路径中的流星应用程序中的公共目录。从流星应用程序目录中读取文件
我尝试使用本机'fs'
包,但我不断收到文件/目录找不到错误。
var fs = Npm.require('fs');
var files = fs.readdirSync('/public/soundfiles/');
是否有人使用文件系统包来读取流星应用程序中的静态文件?
访问没有“/ public”部分的文件。在正在运行的Meteor应用程序中,public
目录成为您的根目录,并且位于/public/whatever
的所有内容均可通过/whatever
访问。
此外,如果您正在使用的文件打转转,你会发现这些有用:
这不再是真实的。对于Meteor 0.8,文件夹“../client/app”是公开的。因此,使用fs.readdirSync('../ client/app')公开获取文件和文件夹。
使用流星1.0.1。我不得不使用这个:fs.createReadStream(“../../../../../ public/data”);似乎疯了我知道,但这是对我有用 – davedonohue
流星1.0.2公众/web.browser/app/ 通过在Linux /home/user/your_app_name/.meteor/进入.meteor目录 总路径经过local/build/programs/web.browser/app/ 到达根目录是`process.env.PWD或process.cwd()。我不确定它是否部署了它的工作。
_meteor_bootstrap_.serverDir +'/assets/app'
这是私人文件夹的路径。
1.0说'ReferenceError:_meteor_bootstrap_没有定义。' –
我了解到,如果不在外部显示,最好将文件上传到您的私人文件夹中。 在我的情况下,我需要存储XML上传并处理它们。 起初,我将XML写入公用文件夹,但会触发重新加载。 然后,我将上传文件夹重命名为/public/.#uploads,这将停止Meteor的重新加载,但是再次......它在构建过程中完全忽略该文件夹,并且上传的文件夹不会存在于构建中(引发ENOENT错误在阅读过程中)。
所以我想通了,最好是放在/私营/文件中的文件,然后读去如下:在私人文件夹
result = fs.readdirSync('assets/app/files')
一切都将在被移动到资产所在的文件夹运行时有一个可用的APP文件夹(在构建文件夹结构中没有看到)。
它有助于简单转储result = fs.readdirSync('.')
以查看您在哪个文件夹中并查看结构。
***更新***** 本地将文件放入private
文件夹仍然触发流星重建/更新(可能不在生产..),所以我发现使用UploadServer只是定义上传目录另一种解决方案: https://github.com/tomitrescak/meteor-uploads
流星1.4,使用服务器资源。 查看资产官方文档 http://docs.meteor.com/api/assets.html
问题是资产是纯文本文件,但我想读取文件夹中的jsx文件列表以创建反应路由器路径 – chulian
您正在使用绝对路径“/”。尝试使用相对的''./ public/soundfiles /''或''public/soundfiles /' –
尝试了所有相对路径 - 出于某种原因fs开始从我的软件包目录读取数据。例如,如果我通过'.'输出'文件',我得到我的软件包目录中的所有文件? – Warz