2015-01-16 6 views
3

У меня есть приложение, для которого мне нужно изменить какой-либо URL-адрес. Например, localhost:9000 должно выглядеть так: localhost:9000/myappПереписать URL-адрес с grunt

Все статические файлы будут иметь URL-адрес в html, например myapp/style/main.css. Но в действительности myapp папка не будет существовать, мне просто нужно показать ее в url. Я не знаю, как внутренне переписать его.

Сервер "grunt-contrib-connect"

ответ

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; 
     }, 
+0

Хорошо, хорошо работает. Теперь следующая проблема заключается в том, что статические файлы не загружаются, потому что они используют/myapp/in there url для загрузки, и они получают хороший 404. –