0

0

Nodejs对web开发你知道多少?一篇文章让你了解nodejs开发web

寻∝梦

寻∝梦

发布时间:2018-09-05 14:01:01

|

3557人浏览过

|

来源于php中文网

原创

这篇文章让我们了解nodejs对web开发的过程,你想知道的都在这里,由服务器动态生成html页面。下面就让我们来看这篇文章吧。

一 ,Node.js 和 PHP、 Perl、ASP、JSP 目的都是实现动动态网页,也就是说由服务器动动态生成 HTML 页面。 之所以要这么做,是因为静态 HTML 的可扩展性非常有限,无法与用户有效交互。(教程推荐:node.js中文参考手册

软件工程分解为 个层面:模型 、视图和控制器。 

  1. 模型是对象及其数据结构的实现,通常包含数据库操作。 

  2. 视图表示用户界面,在网站中通常就是 HTML 的组织结构。 

  3. 控制器用于处理用户请求和数据流、复杂模型 ,将输出传递给视图。

准备工作

1、使用 http 模块

post请求:

var http = require('http');
var querystring = require('querystring');
var server = http.createServer(function(req, res) {
var post = '';
req.on('data', function(chunk) { post += chunk;
});
req.on('end', function() {
post = querystring.parse(post);
        res.write(post.title);
        res.write(post.text);
        res.end();
}); }).listen(3000);

tuyi.png

所以相比php,要用nodejs用http模块直接开发网站,必须手动实现所有东西了,想学习node.js的同学可以前往PHP中文网 node.js视频教程栏目

二、Express框架

nodejs推荐的唯一一个web开发框架 

除了为http模块提供了更高层的接口外,还实现了许多功能,包括: 

  • - 路由控制 

  • - 模模解析支持 

  • - 动态视图 

  • - 用户会话 

  • - CSRF保护 

  • - 静态文件服务 

  • - 错误控制器 

  • - 访问日志 

  • - 缓存 

  • - 插件支持

快速开始

1.安装Express

$ npm install -g express

2.建立工程

$ express -t ejs microblog
$ cd microblog && npm install

3.启动服务器

$ node app.js

三、路由控制

1.工作原理

  • 访问http://localhost:12138 浏览器会向服务器发送请求

  • app解析请求的路径,调用相应的逻辑

    AI智研社
    AI智研社

    AI智研社是一个专注于人工智能领域的综合性平台

    下载
  • app.js中有一行内容是app.get(‘/’, routes.index),它的作用是规定路径为/的GET请求由routes.index函数处理

  • routes.index通过res.render(‘index’,{title: ‘Express’})调用视图模板index,传递 title 变量

  • 最终视图模板生成HTML页面, 返回给浏览器

  • 浏览器在接收到内容以后,经过分析发现要获取 /stylesheets/style.css,因此会再次 服 务器发 请求。

  • app.js中并没有一个路由规则指 到/stylesheets/style.css,但app通过app.use(express.static(__dirname + ‘/public’))配置了静态文件服务器,因此/stylesheets/style.css会定向到app.js所在目录的子目录中的文件public/stylesheets/style.css, 向客户端返回样式内容

tuer.png

2.创建路由规则

打开 app.js,在已有的路由规则 app.get(‘/’, routes.index) 后面添加一行

app.get(‘/hello’, routes.hello);
改 routes/index.js, 加 hello 函数:
 exports.index = function(req, res) {
      res.render('index', { title: 'Express' });
};
exports.hello = function(req, res) {
  res.send('The time is ' + new Date().toString());
};

REST 风格的路由规则

四、模版引擎

1、什么是模板引擎

模板引擎(Template Engine)是一个从页面模板根据一定的规则生成 HTML 的工具

模板引擎的功能是将页面模板和要显示的数据结合起来生成 HTML 页面。

它 可以运行在服务器端 可以运行在 客户端

主流的还是由服务器运行模板引擎

在MVC架构中,模板引擎包含在服务器端,控制器得到用户请求后,从模型获取数据调用模板引擎.

模板引擎以数据和 页面模板为输入,生成html页面,然后返回给控制器

由控制器交回给客户端

模板引擎在mvc中的位置: 

tuyi.png

2、使用模板引擎 ejs

ejs标签系统非常简单,3中标签:

  1. - : js 代码

  2. - : 显示替换过的html特殊字符的内容

  3. - : 显示原始html内容

以上就是这篇关于nodejs对web开发的所有内容了(更多详情到PHP中文网node.js中文参考手册),有问题可以在下方留言。

【小编推荐】

Javascript模块化的详细介绍

前端模板是什么?前端模板的原理介绍以及实例

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

12

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

4

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

18

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

19

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

3

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 5万人学习

Django 教程
Django 教程

共28课时 | 3.7万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号