2016-10-14 2 views

답변

2

서버 구성 문제 일 수 있습니다. #없이 URL이 작동하려면 요청 URL에 관계없이 동일한 .html을 제공하도록 서버를 구성해야합니다. 일단 그것이 제공되면, 당신의 느릅 나무 앱은 거기에서로드하고 가져갈 수 있습니다.

+0

그렇다면 내 기분이 확인되었습니다. 나는 집에있는 것처럼 빨리 작동하도록 노력할 것입니다. – DevNebulae

2

Peter Szerzo의 답변에 덧붙여서 나는 대략 내가 가지고있는 것과 거의 같은 문제에 관한 an issue at the Github page of browser-sync 페이지를 발견했다. 그 해결책은 다음과 같습니다 :

const modRewrite = require("connect-modrewrite"); 

gulp.task("serve",() => { 
    browserSync.init(null, { 
     middleware: [ 
      modRewrite([ 
       "!\\.\\w+$ /index.html [L]" 
      ]), 
     ] 
    } 
} 

Apache 또는 Nginx를 사용하려면 물론 다른 솔루션을 사용해야합니다. 이것은 특정 브라우저 동기화입니다.

업데이트

나는 그것이 다른 위치에서 다시 항목을 가져올 것이기 때문에이 솔루션은 위, 작동하지 않을 것입니다 또 다른 문제 다 퉜다. 예를 들어 수동으로 /blog/1으로 이동하면 해당 위치로 변경할 때 HTTP 요청이 없으므로 완벽하게 정상적으로 작동하지만 페이지를 다시로드하면 위의 해결 방법으로 처리하지 못한 파일 /blog에서 페이지를 가져옵니다. 이것은 후자의 문제를 해결 한 방법입니다.

middleware: [ 
    (req, res, next) => { 
     const splitRequestUrl = req.url.split("/"); 
     const fileName = splitRequestUrl[splitRequestUrl.length - 1]; 

     //I have a seperate paths file 
     //Change paths.serve to whatever folder you want to specify as your base folder 
     if (fs.existsSync(path.join(process.cwd(), paths.serve, fileName))) 
      req.url = `/${fileName}`; 
     else 
      req.url = "/"; 

     next(); 
    } 
] 
관련 문제