Javascript Node.js与Express关系
我试图理解Node.js和Express之间的联系 创建Node.js服务器的代码:Javascript Node.js与Express关系,javascript,node.js,express,node-modules,Javascript,Node.js,Express,Node Modules,我试图理解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(op
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创建安全HTTPS服务器的方法,在大多数项目中都是如此
consthttps=require('https');
const express=require('express');
常量app=express();
常量选项={
key:fs.readFileSync('./https1/key.pem'),
证书:fs.readFileSync('./https1/cert.pem')
};
const server=https.createServer(选项,应用程序);
应用程序获取(“/”,(请求,请求)=>{
res.send(‘你好,世界’)
}
侦听(config.port,()=>{
log(${app.get('env')}模式下${port}端口上侦听的Express server);
})
您当然可以,这是使用express创建安全HTTPS服务器的方法,在大多数项目中都是如此
consthttps=require('https');
const express=require('express');
常量app=express();
常量选项={
key:fs.readFileSync('./https1/key.pem'),
证书:fs.readFileSync('./https1/cert.pem')
};
const server=https.createServer(选项,应用程序);
应用程序获取(“/”,(请求,请求)=>{
res.send(‘你好,世界’)
}
侦听(config.port,()=>{
log(${app.get('env')}模式下${port}端口上侦听的Express server);
});
是的,您可以将nodejs
和express
组合在一起,但不鼓励您将它们组合在一起,除非您有特定的目的,例如使用AWS lambda
或只使用纯节点执行特定的操作系统任务
正如您所知,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');
})
更简单、更直观。是的,您可以将
nodejs
和express
组合在一起,但不鼓励您将它们组合在一起,除非您有特定的目的,例如使用AWS lambda
或只使用纯节点来执行特定的操作系统任务
正如您所知,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');
})
更简单、更直观。您建议如何使用express创建https服务器?您建议如何使用express创建https服务器?