我的代码不能很好地工作。我刚开始使用第一行代码并安装软件包。这是代码:
server.coffee
require 'coffee-script'
express = require 'express'
app = express()
app.get '/', (req, res) ->
res.send "Hello from express"
app.listen(3000)
console.log "Server is listening"
index.eco
<!DOCTYPE html>
<html lang="end">
<head>
<title>Our Page</title>
<body>
<h1>Our Index</h1>
</body>
</head>
</html>
首先,我必须说express.createServer()
已更改为express()
,但当我尝试更改代码时
res.send "Hello from express"
到
res.render 'index.eco', layout: false
运行服务器后无效。有什么想法吗?
的package.json
{
"name": "coderacer",
"version": "0.0.0",
"description": "Example",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Ro",
"license": "BSD-2-Clause",
"dependencies": {
"coffee-script": "*",
"express": "*",
"eco": "*"
}
}
答案 0 :(得分:0)
您没有告诉Express使用模板引擎。要使用Eco等模板引擎,您还需要安装Consolidate.js。 Consolidate.js是一个库适配器,允许除EJS和Jade之外的其他模板引擎与Express一起使用。
这就是你使用这些库的方式:
var express = require('express');
var app = express();
var cons = require('consolidate');
app.engine('eco', cons.eco);
app.get('/', function(req, res) {
res.render(__dirname + '/template.eco', {
layout: false
});
});
Consolidate.js将自动使用Eco上的require()
处理,因此这是您需要初始化以使用Eco的唯一库。如果您需要CoffeeScript版本:
express = require("express")
app = express()
cons = require("consolidate")
app.engine "eco", cons.eco
app.get "/", (req, res) ->
res.render __dirname + "/template.eco", layout: false