2014-12-17 14 views
5

Wenn ich schlucke, begann der Server mit der Nachricht: nicht erhalten /. Wenn ich auf localhost: 3000/app/index.html zeige, wird die Site auf localhost: 3000/home umgeleitet und funktioniert ordnungsgemäß. Wenn ich jedoch die Seite neu lade, gibt es: can not get/home.browserSync modRewrite funktioniert nicht für angularjs html5mode für Pfad 'app/index.html' mit Schluck

Bitte lesen Sie die folgende Konfiguration zu sehen, ob etwas verpasst:

Pfad zum Zugriff: app/index.html

Das ist mein gulpfile.js:

var gulp = require('gulp'), 
nodemon = require('gulp-nodemon'), 
jshint = require('gulp-jshint'), 
browserSync = require('browser-sync') 
modRewrite = require('connect-modrewrite'); 

gulp.task('lint', function() { 
    gulp.src('app/js/*.js').pipe(jshint()); 
}); 

gulp.task('serve', function() { 
    browserSync({ 
     server: { 
      baseDir: "./", 
      middleware: [ 
       modRewrite([ 
        '!\\.\\w+$ /index.html [L]' 
       ]) 
      ] 
     } 
    }); 
}); 

gulp.task('default', ['lint', 'serve'], function() { 
    gulp.watch('app/js/*.js', ['lint', browserSync.reload]); 
}); 

Winkelroutendatei:

$urlRouterProvider.otherwise("/home"); 

    $stateProvider 
    .state('home', { 
     url: "/home", 
     templateUrl: "app/partials/home.html", 
     controller: 'HomeCtrl' 
    }) 
... 

Vielen Dank!

Github: https://github.com/yhjor1212/angular-fire-powder

Antwort

1

Mit diesem Code innerhalb modrewrite:

[ '^ (. [^] +) $ /index.html [L]']

Beispiel:

gulp.task('serve', function() { 
    browserSync({ 
     server: { 
      baseDir: "./", 
      middleware: [ 
       modRewrite(['^([^.]+)$ /index.html [L]']) 
      ] 
     } 
    }); 
}); 
0

Sorry, ich weiß nicht, über Schluck aber mit Gruntfile.js ich den Middleware-Teil mit modrewrite Modul befestigt, etwa so:

var modRewrite = require('connect-modrewrite'); 

... 

grunt.initConfig({ 
    ... 
    browserSync: { 
     ... 
     options: { 
      server: { 
       middleware: [ 
        modRewrite(['!\.html|\.js|\.css|\.png$ /index.html [L]']) 
       ] 
      } 
     } 
... 

Funktioniert perfekt!