-1

我的代码有些东西不能很好地工作。我刚刚开始使用第一行代码并安装软件包。这是代码:

服务器.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

运行服务器后它不起作用。有任何想法吗?

包.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": "*"
  }
}
4

1 回答 1

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 将自动处理require()在 Eco 上的使用,因此这是您需要初始化以使用 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
于 2013-09-21T23:38:31.597 回答