我在 Heroku 上有一些应用程序。他们都使用 GruntJS 构建资产并部署到 S3。一个应用程序已经运行了很长一段时间。
其他应用程序有一个问题,我无法从 Gruntfile 读取我的配置变量。当我使用 Heroku 的工具带查看我的设置时,我看到:
$ heroku config --app mydevapp --account personal
=== mydevapp Config Vars
AWS_ACCESS_KEY: #########
AWS_BUCKET: #########
AWS_SECRET_KEY: #########
BUILDPACK_URL: https://github.com/ddollar/heroku-buildpack-multi.git
DATABASE_URL: #########
PAPERTRAIL_API_TOKEN: #########
TEST: test
这是伟大的。然而,我无法从 Grunt 获得这些变量。当我从 Gruntfile 中 console.log(process.env) 时,我看到:
{ GEM_HOME: '/tmp/build_e26d1d60-d447-40d8-b09b-02d3758a6027/.gem/ruby/1.9.1',
SHELL: '/bin/bash',
SSH_CLIENT: '10.207.46.127 55868 50678',
GROUP: 'production',
DEPLOY: 'production',
STACK: 'cedar',
SHLVL: '3',
HOME: '/app',
CPPPATH: '/tmp/node-node-hP8q/include',
_: '/tmp/build_e26d1d60-d447-40d8-b09b-02d3758a6027/node_modules/grunt-cli/bin/grunt'
}
那里还有其他一些变量,但我不确定显示什么是安全的。我没有看到列出的任何配置变量。
我不知道我的工作应用程序与 process.env 变量中没有配置变量的两个应用程序之间有什么区别。
我读过以这种方式使用 Grunt 并不是最好的主意,但这是我们设置的。当然,如果需要,这可能会改变。
有任何想法吗?我有什么需要澄清的吗?