我是Node.js的初学者。
Express.js是什么? node。js的目的是什么? 为什么我们需要Express.js?它对我们使用Node.js有什么用处? 复述是什么?它自带Express.js吗?
我是Node.js的初学者。
Express.js是什么? node。js的目的是什么? 为什么我们需要Express.js?它对我们使用Node.js有什么用处? 复述是什么?它自带Express.js吗?
当前回答
Express是Node的一个模块框架,您可以将其用于基于服务器的应用程序,这些服务器将“侦听”来自客户端的任何输入/连接请求。当您在Node中使用它时,它只是说您正在请求使用Node模块中的内置Express文件。
Express是许多Web应用程序的“骨干”,这些应用程序的后端都是NodeJS。据我所知,它的主要资产是处理两个主机之间“交互”服务的路由系统。它有很多替代品,比如Sails。
其他回答
Express.js是Node.js的模块化web框架 它用于更容易地创建web应用程序和服务 js简化了开发,更容易编写安全、模块化和快速的应用程序。你可以在普通的旧Node.js中完成所有这些,但一些bug可能(并且将会)浮出水面,包括安全问题(例如。没有正确转义字符串) Redis是一种以快速著称的内存数据库系统 的性能。不,但你可以使用redis的Express.js 客户端
我不能比这更简洁了。对于你所有其他的需求和信息,谷歌是你的朋友。
ExpressJS是一个基于NodeJS之上的最简单的web应用框架。
它可以用来快速构建WebApps, RESTFUL api等。
支持Jade、EJS等多种模板引擎。
ExpressJS只保留了一个极简的功能作为核心特性,因此没有orm或db作为默认支持。但只要稍加努力,expressjs应用程序就可以与不同的数据库集成。
关于创建ExpressJS应用程序的入门指南,请查看以下链接:
ExpressJS入门教程
这是它力量的完美例子
router.route('/recordScore').post(async(req, res) => {
let gold_nation = req.body.gold && req.body.gold.nationality;
let silver_nation = req.body.silver && req.body.silver.nationality;
let bronze_nation = req.body.bronze && req.body.bronze.nationality;
let competition_id = req.body.competition_id;
console.log(gold_nation)
console.log(silver_nation)
req.body.gold && await country.updateOne({"flag" : gold_nation}, { $inc: { gold: 1 } });
req.body.silver && await country.updateOne({"flag" : silver_nation}, { $inc: { silver: 1 } });
req.body.bronze && await country.updateOne({"flag" : bronze_nation}, { $inc: { bronze: 1 } });
console.log(competition_id)
//await competition.updateOne({"_id" : competition_id}, {$set: {recorded : true}});
//!! Uncomment this and change model/competition.ts set recorer to recorded
// this is commented out so you can test adding medals for every case and not creating competitions every time
res.status(200).json("Success");
});
async record(){
let index = this.competitions.findIndex(e => e._id == this.selectedCompetition);
let goldIndex = this.competitors.findIndex(e => e._id == this.goldWinner);
let silverIndex = this.competitors.findIndex(e => e._id == this.silverWinner);
let bronzeIndex = this.competitors.findIndex(e => e._id == this.bronzeWinner);
console.log(this.competitors[goldIndex]);
console.log(this.competitors[1-goldIndex]);
this.sportService.recordCompetition(this.competitors[goldIndex],
this.competitors[1-goldIndex],
null,
this.competitions[index]).subscribe((m:string) => this.reset(m))
}
reset(message: string){
this.statusMessage = message;
if(message == "Success"){
this.competitions = this.competitions.filter( (c) => c._id != this.selectedCompetition);
this.goldWinner = '';
this.silverWinner = '';
this.bronzeWinner = '';
}
setTimeout(()=>{
this.statusMessage = '';
}, 3000);
}
router.route('/registerCompetitor').post(async(req, res) => {
//! PROVJERI DA LI JE FORMIRANJE TAKMICENJA ZAVRSENO
let competitors = req.body.map( c => ({
name: c.name,
gender: c.gender,
nationality: c.nationality,
sport: c.sport,
disciplines: c.disciplines
}));
console.log(competitors)
await country.updateOne({"flag" : competitors[0].nationality}, { $inc: { numberOfCompetitors: competitors.length } });
await competitor.collection
.insertMany(competitors)
.then( u => {
res.status(200).json("Ok")
})
.catch(err =>{ res.status(400).json("notOk");
});
});
这有点过于简化了,但Express.js之于Node.js,就像Ruby on Rails或Sinatra之于Ruby。
表达3。x是一个轻量级的web应用程序框架,帮助您在服务器端将web应用程序组织成MVC架构。您可以为您的模板语言使用各种选择(如EJS、Jade和Dust.js)。
然后,您可以使用像MongoDB和Mongoose(用于建模)这样的数据库为您的Node.js应用程序提供后端。js基本上帮助你管理一切,从路由到处理请求和视图。
Redis是一个键/值存储——通常用于Node.js应用程序中的会话和缓存。你可以用它做更多的事情,但这就是我用它的目的。我使用MongoDB进行更复杂的关系,如行项目<->订单<->用户关系。有一些模块(最著名的是connect-redis)将与Express.js一起工作。你需要在你的服务器上安装Redis数据库。
这是快车3号的链接。X指南:https://expressjs.com/en/3x/api.html
Express是Node的一个模块框架,您可以将其用于基于服务器的应用程序,这些服务器将“侦听”来自客户端的任何输入/连接请求。当您在Node中使用它时,它只是说您正在请求使用Node模块中的内置Express文件。
Express是许多Web应用程序的“骨干”,这些应用程序的后端都是NodeJS。据我所知,它的主要资产是处理两个主机之间“交互”服务的路由系统。它有很多替代品,比如Sails。