2012-03-10 5 views
5

나는 다음의 라인을 따라 뭔가를, 정적 파일을 제공하지 않습니다 수 :NodeJS는

파일 중 하나

이 왜 전화를 보일 수 없다 내 index.jade 템플릿 /public/myfile.css 얻을 수 없다? 나는 그런 경로를 공급 생각하지 않는다

답변

12

이 지원됩니다

app.use("/public", express.static(__dirname + '/public')); 

이를 시도하고 루트에 공개 파일을 찾을 :

app.use(express.static(__dirname + '/public')); 

그래서 /public/myfile.css/myfile.css된다. 그것이도 나중에이었다 ./middle-conf.js 파일에 넣고 실수 한 경우 작업 할 때 app.use(express.static(__dirname + '/public')) 문장의 위치 ...

내가 문제가 있었다 곳도 중요

+0

에 액세스하지만 여전히 작동하려면/공공 비트를 강제하는 방법은 무엇입니까? 내 응용 프로그램은/뒤에 주 경로에 대한 매개 변수를 사용합니다 ... 그래서 그 순간에 루프에 걸렸습니다 – Alex

+1

그래서'public' 디렉토리를'public' 디렉토리에 두거나 경로를 마운트하십시오 정적 이후. –

+20

이 답변은 잘못되었습니다. 'app.use ("/ public", express.static (__ dirname + '/ public'));'가 지원됩니다. app.use 정의를 확인하십시오. https://github.com/senchalabs/connect/blob/master/lib/proto.js#L61 기타 문제가 발생했습니다. – ibash

1

입니다 var configure = require('./middle-conf)으로 가져온 다음 Express 앱이 configure(app)으로 전달되었습니다.

따라서 미들웨어 처리 명령이 올바르게 작동하지 않았습니다.

0

이 잘 작동 ...

app.use("/public", express.static(__dirname + '/public')); 

하고 HTML 페이지에서

그것은 .. 이런 식으로

<script src="/public/yourcodes.js"></script> 
관련 문제