2012-04-19 54 views
3

node.jsを使用してパーシャルをレンダリングしようとしています。ここに私のコードです。node.jsのexpressでpartialを使用する

app.js:

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

var app = module.exports = express.createServer(); 

// Configuration 

app.configure(function(){ 
    app.set('views', __dirname + '/views'); 
    app.set('view engine', 'jade'); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use(app.router); 
    app.use(express.static(__dirname + '/public')); 
}); 

app.configure('development', function(){ 
    app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); 
}); 

app.configure('production', function(){ 
    app.use(express.errorHandler()); 
}); 

// Routes 

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

var products = require('./products.js'); 

app.get('/products', function(req, res) { 
    res.render('products/index', {locals: { 
       products: products.all 
       } 
       }); 
}); 

app.listen(3000); 

私はローカルホストに行く:3000 /製品、それがビューにある製品フォルダにあるindex.jadeをレンダリングする必要がありますが、私が使用してビューのディレクトリを設定しfolder.Above app.set('views', __dirname + '/views');

index.jade:

h1 Products: 
#products!= partial('partials/product', {collection: products}) 

ヒスイは、私の見解エンジンであるので、この(パーシャル/ product.jade)に部分的に同等のものをレンダリングする必要があります。

が、私は戻って、「部分的に定義されていません」というエラーを取得しています

すべてのヘルプは素晴らしいことです。おかげ

UPDATE:私の部分のエラーを解決し

はあなたに感謝します。私は2.5.9を再インストールしました。あなたがインストールされているエクスプレスJSのバージョン

答えて

8

チェック - あなたは3.0のアルファを持っていることがあります。

$ npm ls 
... 
└─┬ [email protected] 
... 

あなたがアルファを試みることに興味があるなら、Migrating from 2.x to 3.x上のドキュメントをチェックアウトしてください。 「Viewシステムの変更:」

「レイアウト」エクスプレス3で&パーシャルの概念を除去することにより。下に説明するように - それは、あなたは(テンプレート内)res.partial()partial()が削除されていることがわかりますxテンプレートエンジンは、ファイルI/Oをより詳細に制御できます。つまり、テンプレートエンジンとの統合がはるかに容易になり、ビューシステムの内部が大幅に簡素化されます。

リンク先記事の例は、Use Jade blocks, not layoutsです。

興味がない場合は、2.xがインストールされていることを確認してください。

$ npm install expres[email protected] 

またはpackage.json経由:

{ 
    ... 
    "dependencies": { 
     ... 
     "express": "2.x" 
    } 
} 
+0

'NPMあなたは多くのパッケージがインストールされている場合は特急だけのバージョンの-V'表現 – jopfre

関連する問題