我已经使用NPM设计了一个Angular SPA的构建版本来调用browserify脚本来捆绑它,即你可以从终端npm run build:js
运行,它在package.json中调用以下脚本:
"build:js": "browserify -r ./params-dev.js -e src/app/index.js -o build/index.js"
我现在要做的是为prod和QA创建两个不同的配置对象。每个文件都需要一个不同的文件:params-dev.js
或params-prod.js
(如上面的命令中所示)。
我想知道如何在生成的包中访问这些变量?它们是特定于环境的,其中一些指向分析代码等。此外,我试图将它们移出它们目前居住的全球范围。
以下是我希望包含在包中的params文件的示例。将有一个用于生产,一个用于质量保证:
var merge = require('merge'),
params = require('./params')
exports.config = merge(params, {
env: 'prod',
analyticsCode: 'blah08yweblah2e823lnblah',
otherProps: '...etc...'
})
那么我现在如何在AngularJS模块中访问这些变量?我觉得我在这里遗漏了一些明显的东西。
有人有什么想法吗?如果您需要更多信息,请与我们联系。
如果有帮助,我的index.js看起来像
(function () {
// common app require statements
require('blah')
require('blah-2')
angular.module('app', [require('angular-route')])
// etc etc
})()
答案 0 :(得分:0)
我明白了。 :)如果我将目标添加到命令中所需文件路径的末尾,如下所示:
"build:js": "browserify -r ./params-dev.js:params -e src/app/index.js -o build/index.js"
我可以通过将var params = require('params')
添加到我的角度文件来访问该对象。