2014-01-08 8 views
0

해결 방법을 모르겠다는 node.js + express + jade에 문제가 있습니다. 이미 Google 및 stackoverflow에서 검색했습니다. 솔루션은, 그래서 문제가node.js + 익스프레스 + 비취 : style.css 내부 서버 오류 500

:) 제발 도와 당신에게 요청이있는 style.css를 제외한 모든 작품 :

Failed to load resource: the server responded with a status of 500 (Internal 
Server Error) 

PS : 나는 Node.js를을의 최신 버전을 다시 설치하고 보안 모듈, 솔루션 없음

업데이트 : 나는이 추가 할 때 오류 아웃 전용 : 옥 파일에 link(rel='stylesheet', href='style.css')

var express = require("express"); 
app = express(), 
routes = require('./routes'); 

app.configure(function(){ 
    app.set('port', 8080); 
    app.set('views', __dirname + '/views'); 
    app.set('view engine', 'jade'); 
    app.use(express.favicon()); 
    app.use(express.logger('dev')); 
    app.use(express.urlencoded()); 
    app.use(express.methodOverride()); 
    app.use(app.router); 
    app.use(express.static(__dirname + '/public')); 
}); 

app.get("/", routes.index); 

app.listen(app.get("port"), function() { 
    console.log("App listening on port " + app.get("port")); 
}); 

루트 /하는 index.js

exports.index = function(req, res) { 
    res.render('index'); 
}; 

공공 /있는 style.css app.js

body { 
    font-size: 20px; 
} 

내가이 오류 가지고 :

my_path_privacy\nodejs-test>node app.js 
    App listening on port 8080 
    ←[90mGET/←[32m200 ←[90m3674ms - 867b←[0m 
    TypeError: Object #<SendStream> has no method 'on' 
     at Object.staticMiddleware [as handle] (my_path_privacy\nodejs-test\node_modules\express\node_modules\connect\lib\middleware\static.js:89:8) 
     at next (my_path_privacy\nodejs-test\node_modules\express\node_modules\connect\lib\proto.js:193:15) 
     at pass (my_path_privacy\nodejs-test\node_modules\express\lib\router\index.js:110:24) 
     at Router._dispatch (my_path_privacy\nodejs-test\node_modules\express\lib\router\index.js:173:4) 
     at Object.router [as handle] (my_path_privacy\nodejs-test\node_modules\express\lib\router\index.js:33:10) 
     at next (my_path_privacy\nodejs-test\node_modules\express\node_modules\connect\lib\proto.js:193:15) 
     at Object.methodOverride [as handle] (my_path_privacy\nodejs-test\node_modules\express\node_modules\connect\lib\middleware\methodOverride.js:48:5) 
     at next (my_path_privacy\nodejs-test\node_modules\express\node_modules\connect\lib\proto.js:193:15) 
     at Object.urlencoded [as handle] (my_path_privacy\nodejs-test\node_modules\express\node_modules\connect\lib\middleware\urlencoded.js:41:37) 
     at next (my_path_privacy\nodejs-test\node_modules\express\node_modules\connect\lib\proto.js:193:15) 
    ←[90mGET /style.css ←[31m500 ←[90m52ms - 1.34kb←[0m 

package.json

{ 
    "name": "app-test", 
    "version": "0.0.1", 
    "private": true, 
    "scripts": { 
     "start": "node app.js" 
    }, 
    "dependencies": { 
     "express": "3.4.7", 
     "jade": "1.1.0" 
    }, 
    "engines": { 
     "node": "0.10.24", 
     "npm": "1.3.21" 
    } 
} 

index.jade을

doctype html 
html 
    head 
    title Hello world 
    link(rel='stylesheet', href='style.css') 
    body 
    p Hello world 
+0

res.render('index', {title: "Hello, world"}); 

는 [이 답변] (http://stackoverflow.com 것 같은데/a/11520151/893780)이 문제를 해결할 수도 있습니다. – robertklep

+0

@robertklep : 이미 시도했지만 해결되지 않았지만 도움을 주셔서 감사합니다. –

답변

0

이 경우 나도 몰라 관련, 나는 임베디드에 많은 문제가 있었다. 옥 파일에있는 스크립트. 구문이 변경되었습니다. 다음 줄에 JS가 나오는 경우 jade 파일의 스크립트 태그에 점을 추가해야 할 수도 있습니다. 또 다른 악 변화가

, 당신은 유 배열을 보내는 시도하거나 대신 개체 수, 5

 
script 
    var x=1 

is now 

script. 
    var x=1 
+0

흠 나는 옥 파일에 스크립트 태그가 없지만 구문 오류를 찾고 있습니다. –

0

그냥 호기심하는 템플릿 엔진 문제처럼 보인다 DOCTYPE html로 대신 문서 타입을 작성해야 "안녕하세요, 세계는"단지 대체

res.render('index', {title: some array or object here}); 
+0

같은 문제 : ( –

+0

일반적으로 엔진 종속성이 잘못되었거나 이것도 두 번 확인하고 싶을 수도 있습니다. (package.json) – user3038427

+0

오픈 포스트에 대한 새로운 업데이트를보세요. 문제는 링크 rel에 있습니다. –