2014-06-14 7 views
0

노드 프로젝트에 필요한 원래의 상용구 중 일부가 완료되지 않은 것으로 의심되는 node.js 프로젝트를 상속했습니다. 이것은 node.js.를 사용하여 처음으로 또한입니다. 어쨌든node.js 오류 문제 해결

, 나는 노드가, 최대 올바른 포트 부츠와 모든 것을 app.js하지만 앱이 스크립트 파일의 수 (오류로드 할 수 없습니다 실행할 때 "catch되지 않은 구문 에러를 : 예기치 않은이 < 토큰"주어진다 로드 할 수없는 각 js 파일에). 이 오류를 해결하기 위해 노력했지만 많은 온라인 리소스가 있지만이를 해결할 수는 없습니다. type="text/javascript"을 각 script 탭에 추가하려고했지만 아무 것도 변경하지 않았습니다.

스크립트의 잘못된 로딩 경로 문제를 해결하기 위해 클릭하면 모두 index.html 페이지로 이동합니다. 그것이 제대로 작동해야처럼 (의 경로 다음과 같습니다,

// serve all asset files from necessary directories 
app.use('/js', express.static(__dirname + '/public/js')); 
app.use('/css', express.static(__dirname + '/public/css')); 
app.use('/partials', express.static(__dirname + '/public/partials')); 
app.use('/lib', express.static(__dirname + '/public/lib')); 

// JSON API 
app.get('/api/name', api.name); 

// redirect all others to the index (HTML5 history) 
app.all('/*', function(req, res, next) { 
    res.sendfile('index.html', { root: __dirname + '/public' }); 
}); 

을하지만 : 따라서, 어떤 이유로, 그것은 에서이 부분의 코드처럼 보인다는 파일이 작동하지 않습니다 app.js 파일). 어떤 아이디어?

답변

1

거의 확실하게 app.all 경로가 자바 스크립트를 보내야하는 요청에 대해 HTML을 보내고 있습니다. 브라우저가 스크립트 태그로 가져 오는 특정 URL을보아야하지만 서버가 HTML을 다시 보내야합니다. 해당 .js 파일은 아마도 라우터가 catch-all 경로로 진행하도록하는 public/js 아래에 없을 것입니다.

사이드 노트는 URL이 파일 시스템 구조와 어떻게 정렬되어 있는지에 따라 express.static 경로를 압축 할 수 있습니다.

// serve all asset files from necessary directories 
app.use(express.static(__dirname + '/public')); 
+0

아 ... 네가 준 'app.use' 줄을 압축 할 수 있습니까? 그건 의미가 있습니다. 좀 더 문제를 해결하겠습니다. –