Meteor - 如何在开发或生产中使用包

Jon*_*rsi 8 javascript meteor

在Meteor中,有没有办法指定仅在开发环境中使用的包,或仅用于生产环境?当我通过astmospherejs.com添加软件包时,它们都会被.meteor/packages按时间顺序排列到文件中.基本上,我正在寻找什么是ruby Gemfile,你可以在其中指定不同的环境.谢谢!

Coo*_*ama 7

这里有一个小技巧,我一直用于在开发中运行一个包:

  1. 从您的应用程序根目录,创建一个空包(或添加到您的PACKAGE_DIRS目录):meteor create --package my-package-manager

  2. 在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');
      }
    });
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在开发环境:( echo "export IS_DEVELOPMENT=true" >> ~/.bash_profile~/.zshrc在我的情况下)

  4. 然后显然IS_PRODUCTION对生产服务器使用的任何内容都做同样的事情.以heroku为例:heroku config:set IS_PRODUCTION=true

我正在使用这个只用于dev的包,没有尝试过只用于生产,但它应该工作.