3

我有一个需要更改一些网址的应用程序。例如localhost:9000应该看起来像localhost:9000/myapp

所有静态文件都将在 html 中具有 url,例如myapp/style/main.css. 但在实际myapp文件夹中不会存在,我只需要在 url 中显示它。我不知道如何在内部重写它。

服务器是"grunt-contrib-connect"

4

1 回答 1

3

使用http-rewrite-middleware

安装后,将其放在 Gruntfile 的顶部

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

然后在你的连接 livereload 下做这样的事情:

livereload: {
    options: {
      open: 'http://localhost:9000/myapp',
      middleware: function(connect, options, middlewares) {

        // rewrite (make sure it is first)
        middlewares.unshift(rewriteModule.getMiddleware([
          {from: '^/myapp/(.*)', to: '/$1'}
        ]));

        //paths
        middlewares.push(connect.static('.tmp'));
        middlewares.push(connect().use(
          '/bower_components',
          connect.static('./bower_components')
        ));
        middlewares.push(connect.static(appConfig.app));

        return middlewares;
      },
于 2015-01-16T20:40:40.643 回答