node.js - JSHTML 不适用于 Node.js 中的 Express.js

标签 node.js express

我似乎没有让 JSHTML 在 Node.js 的 Express.js 上作为模板引擎工作。当我安装我的 Express.js 应用程序并为我创建一个基本应用程序并运行它时,我收到此错误消息:

500 TypeError: Property 'engine' of object #<View> is not a function
at View.render (/Users/blackbook/nodejs/ds/node_modules/express/lib/view.js:75:8)
at Function.app.render (/Users/blackbook/nodejs/ds/node_modules/express/lib/application.js:504:10)
at ServerResponse.res.render (/Users/blackbook/nodejs/ds/node_modules/express/lib/response.js:677:7)
at exports.index (/Users/blackbook/nodejs/ds/routes/index.js:7:7)
at callbacks (/Users/blackbook/nodejs/ds/node_modules/express/lib/router/index.js:165:11)
at param (/Users/blackbook/nodejs/ds/node_modules/express/lib/router/index.js:139:11)
at pass (/Users/blackbook/nodejs/ds/node_modules/express/lib/router/index.js:146:5)
at Router._dispatch (/Users/blackbook/nodejs/ds/node_modules/express/lib/router/index.js:173:5)
at Object.router (/Users/blackbook/nodejs/ds/node_modules/express/lib/router/index.js:33:10)
at next (/Users/blackbook/nodejs/ds/node_modules/express/node_modules/connect/lib/proto.js:190:15)

我的 app.js 看起来像这样(这是 Express.js 为我创建的):

/**
 * Module dependencies.
 */

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

var app = express();

app.configure(function(){
  app.set('port', process.env.PORT || 3000);
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jshtml');
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
  app.use(express.static(path.join(__dirname, 'public')));
});

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

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

http.createServer(app).listen(app.get('port'), function(){
  console.log("Express server listening on port " + app.get('port'));
});

我有这个安装:

  • Node.js v.0.8.5
  • Express.js@3.0.0rc2
  • jshtml@0.2.3

最佳答案

JSHTML 目前与 Express.js 2 一起工作。有计划让引擎与 Express.js 3 一起工作,但目前我忙于享受夏天!期待在冬天解决这个问题!

关于node.js - JSHTML 不适用于 Node.js 中的 Express.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11882236/

相关文章:

node.js - 在 npm 5 中调用 install 时如何避免 "npm fetch GET 200"日志

javascript - Node.js HTTP 字符串

json - node.js http.request 获取json,json前面未定义

node.js - 我应该在哪里定义要在 EJS 模板中调用的 JS 函数

node.js - 如何在express框架中将路由与应用程序文件分开

javascript - Node.js Express Server 无法在其他服务器上运行,但可以在我的计算机上运行

javascript - 无法读取 Node.js 中未定义的属性 'get'

javascript - new Date() 在错误的时区

javascript - 如何在 jQuery 中获取从 Node js 服务器发送的值?

Javascript 文件未在端口 8080 上加载