我正在使用NPM(Node.js)尝试遍历Meteor项目中的所有文件夹。 但是,使用我的node.js代码,我似乎只能在Meteor中访问这些文件夹: 1.)服务器 2.)lib 3.)私人
我找不到: 1.)客户 2.)公众 3.)我刚刚添加到项目中的其他文件夹只是为了试验。
我用来列出目录的代码位于服务器方法内的.js文件中。 这是我使用的代码:
var fs = Npm.require('fs');
var dir = './';
var files = fs.readdirSync(dir);
我将以下内容打印到控制台:
I20141208-15:18:24.272(8)? [ 'app',
I20141208-15:18:24.272(8)? 'assets',
I20141208-15:18:24.273(8)? 'boot.js',
I20141208-15:18:24.273(8)? 'config.json',
I20141208-15:18:24.273(8)? 'node_modules',
I20141208-15:18:24.273(8)? 'npm',
I20141208-15:18:24.273(8)? 'npm-shrinkwrap.json',
I20141208-15:18:24.273(8)? 'package.json',
I20141208-15:18:24.273(8)? 'packages',
I20141208-15:18:24.273(8)? 'program.json',
I20141208-15:18:24.274(8)? 'start.sh' ]
如何访问客户端文件夹,公用文件夹等? 毕竟,这些文件夹和里面的文件最终也在“服务器”中,但可能处于不同的级别。 非常感谢你的帮助。
答案 0 :(得分:3)
Node.JS流程Meteor应用程序的当前工作目录是:
.meteor/local/build/programs/server
客户端应用的内容位于:
.meteor/local/build/programs/web.browser/app
如果要在服务器端节点中访问此文件夹,则需要执行以下操作:
var clientFilesDir=process.cwd()+"/../web.browser/app";
var clientFiles=fs.readdirSync(clientFilesDir);
答案 1 :(得分:1)
您可以通过 PWD 环境变量获取根目录。在Meteor中读取环境变量是通过process.env
对象完成的。不过,我不确定它在Windows中是如何工作的。
var fs = Npm.require('fs');
var dir = process.env.PWD;
var files = fs.readdirSync(dir);