使用节点启动应用程序时传入 Angular 个变量
Pass in Angular variables when starting app with node
我的客户端 app.js 在 angular.js:
中有这个设置
var options = {};
options.api = {};
options.api.base_url = "http://myDomainName.tld:8080";
当我构建我的应用程序时,我需要能够在 CLI 上更改它。
我的想法是用 grunt 来做。
关于如何解决这个问题还有其他想法吗?
您可以使用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'
]);
};
我的客户端 app.js 在 angular.js:
中有这个设置var options = {};
options.api = {};
options.api.base_url = "http://myDomainName.tld:8080";
当我构建我的应用程序时,我需要能够在 CLI 上更改它。
我的想法是用 grunt 来做。
关于如何解决这个问题还有其他想法吗?
您可以使用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'
]);
};