2014-12-17 10 views
5

के साथ पथ 'ऐप/index.html' के लिए angularjs html5mode के लिए काम नहीं करता है जब मैं गल्प चला रहा हूं, सर्वर संदेश के साथ शुरू हुआ: प्राप्त नहीं हो सकता /। जब मैं लोकलहोस्ट पर इंगित करता हूं: 3000/ऐप/index.html, साइट लोकलहोस्ट पर रीडायरेक्ट: 3000/घर और सही तरीके से काम करती है। हालांकि, जब मैं पृष्ठ को फिर से लोड करता हूं, तो यह देता है: घर नहीं मिल सकता है।browserSync का modRewrite gulp

निम्नलिखित config की समीक्षा करें देखने के लिए अगर कुछ भी याद किया:

उपयोग करने के लिए पथ:

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]); 
}); 

कोणीय मार्ग फ़ाइल: एप्लिकेशन/index.html

यह मेरा gulpfile.js है:

$urlRouterProvider.otherwise("/home"); 

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

बहुत बहुत धन्यवाद!

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

उत्तर

1

modRewrite अंदर इस कोड का उपयोग करें:

[ '^ (। [^] +) $ /index.html [एल]']

उदाहरण:

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

क्षमा करें मुझे गल्प के बारे में पता नहीं है लेकिन Gruntfile.js के साथ मैंने modRewrite मॉड्यूल के साथ मिडलवेयर भाग को ठीक किया है, जैसे:

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

... 

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

सही काम करता है!