Node.js и Экспресс отношения - PullRequest
1 голос
/ 15 марта 2019

Я пытаюсь понять связь между 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, но где именно происходит отклонение, если оно вообще есть?

Могу ли я смешивать и комбинировать два, когда это необходимо?

Спасибо

Ответы [ 2 ]

0 голосов
/ 15 марта 2019

Да, вы можете комбинировать 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');
})

Более простым и интуитивно понятным.

0 голосов
/ 15 марта 2019

Вы наверняка можете таким способом создать Secure 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`);
});

Теперь добавьте свои маршруты и все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...