使用节点启动app时传入Angular变量

时间:2015-03-03 15:07:11

标签: angularjs node.js gruntjs

我在客户端app.js的angular.js中设置了这个设置:

var options = {};
options.api = {};
options.api.base_url = "http://myDomainName.tld:8080";

当我构建应用程序时,我需要能够在CLI上更改此设置。

我的想法是用咕噜声这样做。

其他任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以使用grunt-template模块。

将您的app.js文件添加为app.js.tpl

<强> app.js.tpl

var options = {};
options.api = {};
options.api.base_url = "<%= base_url %>";

<强> Gruntfile.js

module.exports = function(grunt) {
    grunt.initConfig({
        'template': {
            'process-js-template': {
                'options': {
                    'data': {
                        'base_url': 'http://myDomainName.tld:8080'
                        //Can also use 'base_url': grunt.option('base_url')
                        //If you wanted to take it from the CLI.
                        //EG: grunt default --base_url=http://myDomainName.tld:8080
                    }
                },
                'files': {
                    //The key being where you want to save the file.
                    'path/to/app.js': ['path/to/app.js.tpl']
                }
            }
        }
    });
    grunt.loadNpmTasks('grunt-template');
    grunt.registerTask('default', [
        'template'
    ]);
};