Node.js meteor:如何从项目根路径列出文件和目录?
我正在使用Meteor 1.0.2.1,我注意到使用文件系统并不像我想象的那么容易:p 最后我安装了peerlibrary:fs包,这样我现在就可以访问node.js fs模块,现在我正试图列出公用文件夹的内容,但正如这里提到的: 现在版本1的路径似乎是“../../../../../public” var files=fs.readdirSync'../../../../../public' 但我认为这是错误的 项目根文件夹是否有别名? 使用peerlibrary:fs可以吗 谢谢。console.log的_meteor\u bootstrap\u sayi删除了个人内容Node.js meteor:如何从项目根路径列出文件和目录?,node.js,meteor,Node.js,Meteor,我正在使用Meteor 1.0.2.1,我注意到使用文件系统并不像我想象的那么容易:p 最后我安装了peerlibrary:fs包,这样我现在就可以访问node.js fs模块,现在我正试图列出公用文件夹的内容,但正如这里提到的: 现在版本1的路径似乎是“../../../../../public” var files=fs.readdirSync'../../../../../public' 但我认为这是错误的 项目根文件夹是否有别名? 使用peerlibrary:fs可以吗 谢谢。conso
{ startupHooks:
[ [Function], [Function],
[Function], [Function],
[Function],
[Function],
[Function],
[Function],
[Function] ],
serverDir: 'my_path_to_serverDir',
configJson:
{ meteorRelease: 'METEOR@1.0.2',
clientPaths: { 'web.browser': '../web.browser/program.json' } } }
=> Started your app.
我确实在/home/user/app/.meteor/local/build/programs/web.browser/program.json中检查了program.json
部分原因是我改变了一些个人资料
{
"path": "app/pathToImage/image.png",
"where": "client",
"type": "asset",
"cacheable": false,
"url": "/pathToimage/image.png",
"size": someSize,
"hash": "someHash"
},
在该状态下,没有处于部署状态的公用文件夹,但您可以从program.json文件获取路径,并且_meteor_bootstrap u.configJson.clientPaths为对象提供指向该对象的路径,该路径类似于console.log中的粘贴:
{'web.browser':'../web.browser/program.json'}您可以尝试使用process.env.PWD、fs.readdirSyncprocess.env.PWD+'/public';你好,亚历山大,谢谢你的回答。如果我是对的,唯一的缺点是依赖于环境变量,可能会得到不同的结果。例如,如果从/my/project/server运行meteor run,则得到的是后者,而不仅仅是/my/project。有一个返回/my/project/.meteor/local/build/programs/server的.meteor\u bootstrap.serverDir,因此我可以使用.meteor字符串来获取它之前的所有内容,但不确定它有多坚固。