Node JS - Express JS - TypeError:Object#<object>没有方法'compile'</object>

时间:2011-09-28 08:19:58

标签: node.js

我创建了一个使用node(0.5.7),express(2.3.9)和ejs(1.0)的测试代码。这是示例代码

core.js

    var express = require('express');
    var http = require('http');
    var ejs = require('ejs');

    var app = express.createServer();

    app.set('views', __dirname + '/views');
    app.set( "view engine", "ejs" );

    app.get('/', function(req, res) {
    res.render('index');
    });
    app.listen(8000);
    console.log('Listening 8000');

提到的是ejs文件所在的路径 - &gt;视图/ index.ejs

我收到错误“TypeError:Object#没有方法'compile'”

你能帮我解决一下最适用的解决方案吗?

2 个答案:

答案 0 :(得分:1)

可能错误的是,快速版本2.3.9不能与节点版本0.5.7(0.6.x系列的不稳定分支)兼容,因此您应该尝试使用0.4.x的稳定版本的节点系列。来自express docs:

  

Express 1.x与节点0.2.x兼容并连接&lt; 1.0。

     

Express 2.x与节点0.4.x兼容并连接1.x

     

Express 3.x(主分支)与节点0.6.x兼容并连接   2.X

答案 1 :(得分:0)

确保在使用express创建骨架项目时,尤其是使用npm install安装依赖项的部分时,请按照这些说明进行操作。

创建应用:

$ npm install -g express
$ express /tmp/foo && cd /tmp/foo

安装依赖项:

$ npm install

启动服务器:

$ node app