2015-04-22 81 views
-1

任何人都用「generator-cg-angular」來使用「http-rewrite-middleware」?http-rewrite-middleware with generator-cg-angular

我在Gruntfile.js中嘗試這種設置,類似於他們推薦的連接Grunt。

var rewriteModule = require('http-rewrite-middleware'); 

然後在grunt.initConfig我有

connect: { 
    main: { 
    options: { 
     port: 9001, 
     hostname: 'localhost' 
    }, 
    }, 
    development: { 
     options: { 
      middleware: function (connect, options) { 
       var middlewares = []; 

       // RewriteRules support 
       middlewares.push(rewriteModule.getMiddleware([ 
        {from: '^/rest/user', to: '/json/user.json'} 
       ])); 

       if (!Array.isArray(options.base)) { 
        options.base = [options.base]; 
       } 

       var directory = options.directory || options.base[options.base.length - 1]; 
       options.base.forEach(function (base) { 
        // Serve static files. 
        middlewares.push(connect.static(base)); 
       }); 

       // Make directory browse-able. 
       middlewares.push(connect.directory(directory)); 

       return middlewares; 
      } 
     } 
    } 
} 

然後我得到這個輸出運行 「咕嚕服務」

Running "connect:main" (connect) task 
Started connect web server on http://localhost:9001 
Running "connect:development" (connect) task 
Rewrite rule created for: [REWRITE: ^/rest/user -> /json/user.json]. 
Started connect web server on http://localhost:8000 

但是當我做$ http.get('休息/用戶')它會給我這個輸出

"NetworkError: 404 Not Found - http://localhost:9001/rest/user" 

但是,如果我更改爲端口8000,這將工作。

我早些時候使用過「grunt-connect-rewrite」,並且它的工作方式或多或少,我從來沒有遇到8000端口這個問題,它問我沒問題的端口。

我需要配置什麼額外的東西來使cg-angular工作,而不必在請求中添加端口8000?

回答

0

解的 「http-重寫中間件」 與 「發電機-CG-角」 在Gruntfile.js:

connect: { 
    main: { 
    options: { 
     port: 9000, 
     hostname: 'localhost', 
     base: '', 
     middleware: function (connect, options) { 
       var middlewares = []; 

       // RewriteRules support 
       middlewares.push(rewriteModule.getMiddleware([ 
        {from: '^/rest/user', to: '/json/me.json'} 
       ])); 

       if (!Array.isArray(options.base)) { 
        options.base = [options.base]; 
       } 

       var directory = options.directory || options.base[options.base.length - 1]; 
       options.base.forEach(function (base) { 
        // Serve static files. 
        middlewares.push(connect.static(base)); 
       }); 

       // Make directory browse-able. 
       middlewares.push(connect.directory(directory)); 

       return middlewares; 
      } 
    }, 
    } 
}