![](/img/trans.png)
[英]Relationship of node.js / Express / Connect / Socket.io
[英]Node.js and Express relationship
我试图了解Node.js和Express之间的连接。
我用于创建Node.js服务器的代码:
const https = require('https');
const fs = require('fs');
const options = {
key: fs.readFileSync('./https1/key.pem'),
cert: fs.readFileSync('./https1/cert.pem')
};
const server = https.createServer(options, function(req,res){
res.writeHead(200);
res.end(`Hello world!!!!!!!!!!! \n`);
});
server.listen(3000, function(){
console.log('Server listening on port 3000 \n');
});
我运行curl操作curl -k localhost:3000
,它给我一个“ Hello World”输出
我用于创建Express Server的代码:
// call the packages we need
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var port = process.env.PORT || 8080;
// ROUTES FOR OUR API
var router = express.Router();
// test route to make sure everything is working (accessed at GET http://localhost:8080/api)
router.get('/', function(req, res) {
res.json({ message: 'hooray! welcome to our api!' });
});
app.listen(port);
console.log('Magic happens on port ' + port);
我们是否可以将两者混合使用?
更具体地说,我想使用Node.js方式创建服务器,但是要使用Express方式创建路由。 我可以这样做还是应该只采用一种方法? Node.js和Express之间的连接是什么? 我知道Express只是Node.js的框架,但是如果有的话,偏差到底发生在哪里?
我可以在需要时将两者混合并结合吗?
谢谢
您肯定可以通过这种方式在大多数项目中创建带有Express和Follow的安全HTTPS服务器
const https = require('https'); const express = require('express'); const app = express(); const options = { key: fs.readFileSync('./https1/key.pem'), cert: fs.readFileSync('./https1/cert.pem') }; const server = https.createServer(options, app); app.get('/', (req, res) => { res.send('hello world') } server.listen(config.port, () => { console.log(`Express server listening on port ${port} in ${app.get('env')} mode`); });
现在添加您的路线和所有路线。
是的,您可以结合使用nodejs
和express
,但是不鼓励您结合使用它们,除非您有特定的用途,例如使用AWS lambda
或执行仅由纯节点执行的特定OS任务。
如您所知, express
只是一个框架。 您可以使用express
编写代码。
例如,要使浏览器显示“ Hello world”,
// nodejs version
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World!\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
// express version
const express = require('express');
const app = express();
const port = 3000;
app.listen(port, (req, res) => {
res.send('Hello World!\n');
})
更容易,更直观。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.