Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js与Express关系_Javascript_Node.js_Express_Node Modules - Fatal编程技术网

Javascript Node.js与Express关系

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

我试图理解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创建安全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服务器?