在Meteor中,有没有办法指定仅在开发环境中使用的包,或仅用于生产环境?当我通过astmospherejs.com添加包时,它们都会被添加到按时间顺序排列的.meteor/packages
文件中。基本上,我正在寻找什么是ruby Gemfile,你可以在其中指定不同的环境。谢谢!
答案 0 :(得分:7)
这是我在开发过程中用于运行程序包的一个小技巧:
从您的应用根目录创建一个空白包(或添加到您的PACKAGE_DIRS
目录):meteor create --package my-package-manager
在package.js中:
Package.on_use(function(api) {
// production only
if (process.env.IS_PRODUCTION) {
api.use('some:package');
}
// dev only
if (process.env.IS_DEVELOPMENT) {
api.use('devonly:package');
}
});
在开发环境中:echo "export IS_DEVELOPMENT=true" >> ~/.bash_profile
(或在我的情况下为~/.zshrc
)
然后显然对IS_PRODUCTION
对生产服务器使用的任何内容做同样的事情。例如,在heroku上:heroku config:set IS_PRODUCTION=true
我将它用于仅限开发的软件包,并没有尝试使用仅限生产版本,但它应该可以正常工作。
答案 1 :(得分:0)
从meteor版本1.3.2开始,您只需设置标记prodOnly
或debugOnly
。
更多信息here