Düğüm öğrenmeye yeni başladım ve Düğüm ve Express kullanarak bir web uygulaması oluşturmaya çalışıyorum. Ve aşağıdaki kod yapısı ile app.js dosyada aşağıdaki kod var.NodeJs ExpressJ'leri Kullanma: TypeError: string, Function.app.render öğesinde bir işlev değil
Dizin Yapısı: 3000:
app
assets
controller
model
view
index.jade
global
node_modules
app.js
package.json
-js-
var express = require('express');
var app = express();
app.configure(function() {
app.set('view', __dirname + '/app/view');
app.set('view engine', 'jade');
app.use(app.router);
});
app.get('/', function(req, res){
res.render('index', {title: 'express'});
});
app.listen(3000);
console.log('Listening on port 3000');
komutu node app
koşu ve localhost'a gittikten sonra. Aşağıdaki hatayı alıyorum. Bu satırdaki dizgeyi beğenmediğimi varsayıyorum ->res.render('index', {title: 'express'});
. Ancak, Google'da bulduğum her şeyden doğru görünüyor. Yani başka bir şey eksik olmalıyım.
HATA MESAJI:
TypeError: dize Function.app.render bir fonksiyonu değildir (C: \ myapp \ ifade \ node_modules \ ifade \ lib \ application.js: 12: 488) ServerResponse de .res.render (C: \ myapp \ express \ node_modules \ express \ lib \ response.js: 803: 7) C: \ myapp \ express \ app.js: 19: 6 geri aramalarda (C: \ myapp \ express \ node_modules \ express \ lib \ router \ index.js: 164: 37) geçişte (C: \ myapp \ express \ node_modules \ express \ lib \ router \ index.js: 138: 11) geçişte (C: \ myapp Nesnede Router._dispatch'de (C: \ myapp \ express \ node_modules \ express \ lib \ router \ index.js: 173: 5) \ express \ node_modules \ express \ lib \ router \ index.js: 145: 5). yönlendirici (C: \ myapp \ express \ node_modules \ express \ lib \ router \ index.js: 33: 10) sonraki (C: \ myapp \ express \ node_mod ules \ express \ node_modules \ connect \ lib \ proto.js: 190: 15) Object.expressInit [tutamaç] (C: \ myapp \ express \ node_modules \ express \ lib \ middleware.js: 30: 5)
Evet,. Tabii ki şimdi girinti için yeni bir erorrım var. Ama bunu düzeltebilirim. "Görünümlerin" dizin ismimle eşleşmesi varsayımı altındaydım. Sanırım yanılıyordum. Her neyse yardım için teşekkürler. –
Yeah TJ, başlangıçta son derece kafa karıştırıcı bir adlandırma ustasıdır, ancak siz ondan sonra özlüdür. "app.get", "app.use", "app.configure" bir döngü için noobs atar. Bu sadece app.set ('viewPath') 'IMHO olmalıdır. Ayrıca, "app.configure" sarmalayıcınızı, hassas bir şekilde jack squat gerçekleştirirken de kaldırabilirsiniz. –