2016-10-19 77 views
0

我一直在使用NPM來調用browserify腳本捆綁它設計了一個建立一個角SPA,即你可以從中調用的package.json以下腳本終端npm run build:js運行:如何將browserify --require文件傳遞給角度模塊?

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

我」 m現在要做的是爲prod和QA創建兩個不同的配置對象。每個人都需要一個不同的文件:params-dev.jsparams-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

我想通了。 :)如果我的目標添加到所要求的文件的路徑的端部中的命令如下所示:

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

我可以通過添加var params = require('params')到我的角文件訪問該對象。