如何将browserify——require文件传递给angular模块

How to pass browserify --require file to angular module?

本文关键字:angular 模块 require browserify 文件      更新时间:2023-09-26

我已经设计了一个Angular SPA的构建,使用NPM调用browserify脚本来捆绑它,也就是说,你可以从终端npm run build:js运行,它在包中调用以下脚本。json:

"build:js": "browserify -r ./params-dev.js -e src/app/index.js -o build/index.js"  

我现在要做的是为prod和QA创建两个不同的配置对象。每个都需要一个不同的文件:params-dev.jsparams-prod.js(如上面的命令)。

我想知道如何在结果包中访问这些变量?它们是特定于环境的,其中一些指向分析代码等。此外,我正试图将它们移出当前所处的全局作用域。

下面是我想包含在包中的一个参数文件示例。将有一个用于prod和一个用于QA:

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
})()

我明白了。:)如果我在命令中将目标添加到所需文件路径的末尾,如下所示:

"build:js": "browserify -r ./params-dev.js:params -e src/app/index.js -o build/index.js"

我可以通过将var params = require('params')添加到我的角文件来访问对象。