2013-09-30 49 views
1

更新:Jade解析錯誤

我剛剛發現我安裝了最新的節點代碼。我剛剛重新安裝了最新的穩定版本,它對我來說似乎很好。

僅供參考 - 我使用的節點版本 -

的Mac迷你:HelloWorld的nimahajan $ NPM -v 1.3.11 的Mac迷你:HelloWorld的nimahajan $節點-v v0.11.8預

=============================================== ==========

我想創建一個簡單的Hello World例子。

NPM後安裝和節點app.js,我總是得到如下錯誤,不能似乎 解決這個問題..

[email protected] [email protected]

TypeError: Object #<Object> has no method 'parse' 
    at detect (/Users/nimahajan/Desktop/Hapus/node/MEAN/MySite/node_modules/jade/node_modules/with/index.js:33:22) 
    at addWith (/Users/nimahajan/Desktop/Hapus/node/MEAN/MySite/node_modules/jade/node_modules/with/index.js:8:28) 
    at parse (/Users/nimahajan/Desktop/Hapus/node/MEAN/MySite/node_modules/jade/lib/jade.js:105:11) 
    at Object.exports.compile (/Users/nimahajan/Desktop/Hapus/node/MEAN/MySite/node_modules/jade/lib/jade.js:142:9) 
    at Object.exports.render (/Users/nimahajan/Desktop/Hapus/node/MEAN/MySite/node_modules/jade/lib/jade.js:196:15) 
    at Object.exports.renderFile (/Users/nimahajan/Desktop/Hapus/node/MEAN/MySite/node_modules/jade/lib/jade.js:233:18) 
    at View.exports.renderFile [as engine] (/Users/nimahajan/Desktop/Hapus/node/MEAN/MySite/node_modules/jade/lib/jade.js:218:21) 
    at View.render (/Users/nimahajan/Desktop/Hapus/node/MEAN/MySite/node_modules/express/lib/view.js:76:8) 
    at Function.app.render (/Users/nimahajan/Desktop/Hapus/node/MEAN/MySite/node_modules/express/lib/application.js:506:10) 
    at ServerResponse.res.render (/Users/nimahajan/Desktop/Hapus/node/MEAN/MySite/node_modules/express/lib/response.js:798:7) 

App.js

/* 
* Module dependencies 
*/ 
var express = require('express') 
    , stylus = require('stylus') 
    , nib = require('nib'); 

var app = express() 
function compile(str, path) { 
    return stylus(str) 
    .set('filename', path) 
    .use(nib()) 
} 
app.set('views', __dirname + '/views') 
app.set('view engine', 'jade') 
app.use(express.logger('dev')) 
app.use(stylus.middleware(
    { src: __dirname + '/public' 
    , compile: compile 
    } 
)) 
app.use(express.static(__dirname + '/public')); 

app.get('/', function (req, res) { 
    res.render('index', 
    { title : 'Home' } 
) 
}); 

app.listen(3000); 

的package.json

{ 
    "name": "MySite", 
    "version": "0.0.1", 
    "private": "true", 
    "dependencies": { 
    "express": "*", 
    "jade": "*", 
    "stylus": "*", 
    "nib": "*" 
    } 
} 

我下面的例子基本上下面, http://clock.co.uk/tech-blogs/a-simple-website-in-nodejs-with-express-jade-and-stylus

+0

張貼玉代碼 – Plato

+0

啊,我只是通過你提到的教程跑,它工作正常。我猜你的Jade代碼是一個問題,無論是佈局還是索引文件。我錯過的教程唯一的做法是創建一個public/stylesheets目錄併爲其添加一個style.css文件。 –

回答

0

我得到同樣的錯誤只是試圖使用正常NPM腳手架過程。 難道是用下列程序包配置中的錯誤 :

{ 
    "name"   : "todo", 
    "version"  : "0.0.1", 
    "private"  : true, 
    "dependencies" : { 
    "jade"  : "*", 
    "connect" : "*", 
    "express" : "*", 
    "ejs"  : "*", 
    "mongoose" : "*" 
    } 
}