尝试将gulp环境相关的web-pack变量传递给angularjs应用程序

时间:2015-10-22 21:28:02

标签: javascript angularjs gulp webpack

我对AngularJS和gulp以及webpack相当新,请原谅我,如果我没有使用正确的术语。已经阅读了堆栈溢出和angularjs的东西2个小时,并且无法与我读取的东西建立联系。

我正在进入已经开发的应用程序并尝试找到将webpack插件变量中的分析API密钥包含到AngularJS应用程序中的最佳方法。

目录设置如下:

ng_organize
    /gulp
        /tasks
            webpack-development.js
            webpack-production.js
        /util
    /src
        /appName
            /customer
                CustomerController.js
                ...
            /home
            /shop
        app.js
        index.js
    application.js

ng_organize/gulp/tasks/webpack-development.js中的webpack变量是:

gulp.task('webpack:development', function(callback){
    webpack({
        context: ...
        plugins: [
            new webpack.DefinePlugin {
                GOOGLE_ANALYTICS_KEY: 'XXX',
                ...
            }    
        ]
    });
});

目前,可以使用ng_organize/application.jsGOOGLE_ANALYTICS_KEY中访问webpack变量。我试图在ng_organize/src/appName/customer/CustomerController.js内访问它们。

我想创建一个服务来存储依赖于环境的GOOGLE_ANALYTICS_KEY(以及其他键)。这可能吗?如果是这样,我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

事实证明它们全局自动包含在你的应用程序代码中,你将无法在调试器中调用全局变量(我正在测试它是否可以在CustomerController中访问)。

在CustomerController中仍然可以访问

GOOGLE_ANALYTICS_KEY