angularjs – 使用Gruntjs配置Restangular.baseUrl
发布时间:2020-12-17 07:39:56 所属栏目:安全 来源:网络整理
导读:我在使用Gruntjs构建的项目中使用Restangular.这是一个片段: // scripts/app.jsangular.module('myApp',['restangular'])]) .config(['RestangularProvider',function(RestangularProvider) { /* this is different on dev,test,prod environments */ var b
我在使用Gruntjs构建的项目中使用Restangular.这是一个片段:
// scripts/app.js angular.module('myApp',['restangular'])]) .config(['RestangularProvider',function(RestangularProvider) { /* this is different on dev,test,prod environments */ var baseUrl = 'http://localhost:8080/sms-api/rest/management/'; RestangularProvider.setBaseUrl(baseUrl); }]) 如果在cli中指定了baseUrl,或者如果未指定,则希望使用默认值: $grunt server Using default value for 'baseUrl' $grunt build --rest.baseUrl='http://my.domain.com/rest/management/' Using 'http://my.domain.com/rest/management/' for 'baseUrl' 我怎样才能做到这一点?
借助于
Grunt preprocess可以在文件中替换(和其他东西)模板是有用的.
首先将其添加到您的.js代码中: /* Begin insertion of baseUrl by GruntJs */ /* @ifdef baseUrl var baseUrl = /* @echo baseUrl */ // @echo ";" // @endif */ /* @ifndef baseUrl var baseUrl = 'http://www.fallback.url'; // @endif */ /* End of baseUrl insertion */ 然后在grunt文件中,安装grunt预处理(即npm安装grunt-preprocess –save-dev后,添加以下配置: preprocess: { options: { context: { } },js: { src: 'public/js/services.js',dest: 'services.js' } }, 显然,您需要根据您使用的任何文件来更新js文件列表.重要通知 – 如果您计划更新同一个文件(而不是新目的地),则需要使用内联选项 最后,为了使用命令行配置变量,请将以下自定义任务添加到grunt文件中: grunt.registerTask('baseUrl',function () { var target = grunt.option('rest.baseUrl') || undefined; grunt.log.ok('baseUrl is set to',target); grunt.config('preprocess.options.context.baseUrl',target); grunt.task.run('preprocess'); }); 最后,运行baseUrl任务,如下所示: grunt baseUrl --rest.baseUrl='http://some.domain.net/public/whatever' 注意我放在一个后备的url,所以你也可以运行grunt baseUrl和咕噜将您的baseUrl设置为您定义的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |