low*_*key 3 ejs node.js express
这段代码:
var app = require('express').createServer();
var ejs = require('ejs');
var fs = require('fs');
var indexTemplate = fs.readFileSync(__dirname + '/templates/index.html');
app.get('/', function(req, res){
res.end(ejs.render(indexTemplate, {}));
});
Run Code Online (Sandbox Code Playgroud)
给我以下错误
TypeError:Object Address在/home/lowerkey/node_modules/ejs/lib/ejs.js的Object.parse(/home/lowerkey/node_modules/ejs/lib/ejs.js:152:20)上没有方法'substr': 192:13 at Object.render(/home/lowerkey/node_modules/ejs/lib/ejs.js:235:10)at/home/lowerkey/workspace/address book/server/server.js:60:14 at callbacks( /home/lowerkey/node_modules/express/lib/router/index.js:272:11)在param(/home/lowerkey/node_modules/express/lib/router/index.js:246:11)传递(/ home) /lowerkey/node_modules/express/lib/router/index.js:253:5)在Object.handle的Router._dispatch(/home/lowerkey/node_modules/express/lib/router/index.js:280:4) /home/lowerkey/node_modules/express/lib/router/index.js:45:10)下一步(/home/lowerkey/node_modules/express/node_modules/connect/lib/http.js:203:15)
我究竟做错了什么?
小智 6
你indexTemplate变量实际上包含了缓冲,而不是字符串,由于READFILE返回值的默认编码.您可能想尝试在readFileSync 2nd参数中添加编码来设置它,如下所示:
...
var indexTemplate = fs.readFileSync(__dirname + '/templates/index.html', 'utf8');
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1087 次 |
| 最近记录: |