我试图找出如何加载和呈现一个基本的HTML文件,这样我就不必写代码:
response.write('...<p>blahblahblah</p>...');
我试图找出如何加载和呈现一个基本的HTML文件,这样我就不必写代码:
response.write('...<p>blahblahblah</p>...');
当前回答
用ejs代替jade
npm 安装 EJS
app.js
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
/线路/ index.js
exports.index = function(req, res){
res.render('index', { title: 'ejs' });};
其他回答
我们可以用连接框架加载HTML文档。 我已经把我的html文档和相关图像放在我的项目的公共文件夹中,下面的代码和节点模块。
//server.js
var http=require('http');
var connect=require('connect');
var app = connect()
.use(connect.logger('dev'))
.use(connect.static('public'))
.use(function(req, res){
res.end('hello world\n');
})
http.createServer(app).listen(3000);
我已经尝试了fs的readFile()方法,但它无法加载图像,这就是为什么我使用了连接框架。
这是对默罕默德·奈斯温的回答的更新
在快车4号。x, sendfile已弃用,必须使用sendfile函数。区别在于sendfile采用相对路径,而sendfile采用绝对路径。因此,__dirname被用来避免硬编码路径。
var express = require('express');
var app = express();
var path = require("path");
app.get('/', function (req, res) {
res.sendFile(path.join(__dirname + '/folder_name/filename.html'));
});
用ejs代替jade
npm 安装 EJS
app.js
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
/线路/ index.js
exports.index = function(req, res){
res.render('index', { title: 'ejs' });};
试试这个:
var http = require('http');
var fs = require('fs');
var PORT = 8080;
http.createServer((req, res) => {
fs.readFile('./' + req.url, (err, data) => {
if (!err) {
var dotoffset = req.url.lastIndexOf('.');
var mimetype = dotoffset == -1 ? 'text/plaint' : {
'.html': 'text/html',
'.css': 'text/css',
'.js': 'text/javascript',
'.jpg': 'image/jpeg',
'.png': 'image/png',
'.ico': 'image/x-icon',
'.gif': 'image/gif'
}[ req.url.substr(dotoffset) ];
res.setHeader('Content-Type', mimetype);
res.end(data);
console.log(req.url, mimetype);
} else {
console.log('File not fount: ' + req.url);
res.writeHead(404, "Not Found");
res.end();
}
});
}).listen(PORT);
有了这个,你可以包括js, css源代码时链接他们,你可以加载图标,imgs, gif。如果你愿意,你可以添加更多。
var http = require('http');
var fs = require('fs');
http.createServer(function(request, response) {
response.writeHeader(200, {"Content-Type": "text/html"});
var readSream = fs.createReadStream('index.html','utf8')
readSream.pipe(response);
}).listen(3000);
console.log("server is running on port number ");