我一直在寻找一种从智能包中查找流星项目路径的方法(例如:获取.meteor文件夹所在目录的路径......)。 我无法使用节点的__dirname和__filename来执行此操作,因为不知何故在流星中它们是不可用的。 有什么提示吗?
答案 0 :(得分:6)
从流星0.6.0开始,这将是:
var path = Npm.require('path');
var basepath = path.resolve('.');
答案 1 :(得分:5)
从智能包装(0.6.5 +):
var path = Npm.require('path');
var base = path.resolve('.');
在这种情况下, base
可以让您获得包裹的位置..
/User/username/projects/project/.meteor/local/programm/server/...
..甚至可能更深入
但我们想要
/User/username/projects/project/
..在.meteor分裂
base = base.split('.meteor')[0];
或作为双线
var path = Npm.require('path');
var base = path.resolve('.').split('.meteor')[0];;
答案 2 :(得分:1)
这在Meteor 0.5.0中适用于我:
var require = __meteor_bootstrap__.require;
var path = require('path');
var basepath = (path.resolve('.'));
答案 3 :(得分:0)
您实际上可以访问节点:
var __dirname = __meteor_bootstrap__.__dirname;
答案 4 :(得分:0)
您可以尝试(仅限服务器端)
process.env.PWD
为我返回类似的东西(OSX):
'/Users/myusername/Desktop/myproject'
使用该命令可以获得流星项目的根目录。