grunt解决前后端跨域问题

来源:互联网 发布:包装设计收费 知乎 编辑:程序博客网 时间:2024/05/19 18:45

首先需要安装grunt的2个插件grunt-contrib-livereload;
grunt-connect-proxy

Gruntfile.js:

var lrSnippet=require('grunt-contrib-livereload/lib/utils').livereloadSnippet;var mountFolder=function(connect,dir){  return connect.static(require('path').resolve(dir));};var proxySnippet=require('grunt-connect-proxy/lib/utils').proxyRequest;

加在module.exports前面

在grunt.initconfig里,connect

   proxies:[        {          context:'/v2',          host:'127.0.0.1',          port:10080,          https:false,          changeOrigin:true,          //映射路径    localhost:9000/v2==localhost:10080/....          rewrite:{            '^/v2/':'/'          }        }      ],      livereload: {        options: {          open: true,          middleware: function (connect) {            return [                lrSnippet,              mountFolder(connect, '.tmp'),              connect().use(                '/bower_components',                connect.static('./bower_components')              ),              connect().use(                '/app/styles',                connect.static('./app/styles')              ),              /////              mountFolder(connect,appConfig.app),              /////                proxySnippet,              connect.static(appConfig.app)            ];          }        }      },

然后在grunt.task.run中添加

    grunt.task.run([      'clean:server',      'wiredep',      'concurrent:server',       // 'autoprefixer',        //在livereload前面        //'connect:proxies',      'configureProxies:server',      'postcss:server',      'connect:livereload',      'watch'    ]);

然后就能实现前后端跨域了;

Running "configureProxies:server" (configureProxies) taskRewrite rule created for: [/^\/v2\// -> /].Proxy created for: /v2 to 127.0.0.1:10080

本例中所有localhost:9000/v2/ 都映射为
localhost:10080/

参考文章:http://www.ngnice.com/posts/76c4bd0f7a4cdc

http://www.cnblogs.com/suiblog/p/4453578.html

0 0
原创粉丝点击