express基础

express

express介绍

  • 官网传送门
  • 基于 Node.js 平台,快速、开放、极简的 Web 开发框架
  • express特点
    1. Web 应用

    Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。

    1. API

    丰富的 HTTP 快捷方法和任意排列组合的 Connect 中间件,让你创建健壮、友好的 API 变得既快速又简单。

    1. 性能

    Express 不对 Node.js 已有的特性进行二次抽象,我们只是在它之上扩展了 Web 应用所需的基本功能。

express安装

  1. 首先假定你已经安装了 Node.js,接下来为你的应用创建一个目录,然后进入此目录并将其作为当前工作目录。
    mkdir myappcd myapp
  1. 通过 npm init 命令为你的应用创建一个 package.json 文件,这一步是为了记录我们使用了哪些依赖。
    npm init
  1. 当成开发中使用的依赖安装
    npm install express --save
  • 此处如果不希望记录到package.json,我们只是临时使用,省略 --save
    npm install express
  1. 安装 Node 模块时,如果指定了 --save 参数,那么此模块将被添加到 package.json 文件中 dependencies 依赖列表中。 然后通过 npm install 命令即可自动安装依赖列表中所列出的所有模块。

Hello world案例

  • 接下来,我们一起创建一个基本的 Express 应用。
  • 注意:这里所创建是一个最最简单的 Express 应用,并且仅仅只有一个文件 — 和通过 Express 应用生成器 所创建的应用完全不一样,Express应用生成器所创建的应用框架包含多 JavaScript 文件、Jade 模板和针对不同用途的子目录。
  • 进入myapp目录,创建一个名为 app.js 的文件,将package.json里面的main(入口文件)改成app.js
  • 如未安装express请执行 npm install express --save or npm i express -S
  • 在package.json里面script添加命令如下
"scripts": {"test": "echo \"Error: no test specified\" && exit 1","start": "node app.js"
},
  • 书写以下代码
const express = require('express');
const app = express();app.get('/', function (req, res) {res.send('Hello World!');
});const server = app.listen(3000, function () {console.log('Example app listening at http://localhost:3000');
});
  • 在项目根目录下面执行 npm run start or npm start
  • 打开浏览器,输入localhost:3000,就能看到页面显示hello world
    npm start`
  • 打开浏览器,输入localhost:3000,就能看到页面显示hello world

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/727227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

指针的深入解读笔记

指针是什么 指针是指向内存单元的编号(地址),可以快速访问地址,加快程序运行速度. 在指针中一般用到两个操作符: * 解引用操作符 也是定义指针时候的操作符 int *p;//定义一个类型为 int 的 指针 *p 0;解引用p指向的地址 并且赋值为0 & 取地址操作符 in…

详讲Spring的面向切片编程(AOP)二

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…

3月7日代码随想录组合及优化

77.组合 77. 组合 - 力扣(LeetCode) 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3…

【手游联运平台搭建】游戏平台的作用

随着科技的不断发展,游戏行业也在不断壮大,而游戏平台作为连接玩家与游戏的桥梁,发挥着越来越重要的作用。游戏平台不仅为玩家提供了便捷的游戏体验,还为游戏开发者提供了广阔的市场和推广渠道。本文将从多个方面探讨游戏平台的作…

复习C++

统计每个月兔子的总数 #include<bits/stdc.h> using namespace std; int n,sum0; void f(int); int main() {int a[1000];cin>>n;a[1]1;a[2]2;for(int i3;i<1000;i){a[i]a[i-1]a[i-2];}cout<<a[n];return 0; } void f(int n){} 猴子吃桃子 #include<…

slice()函数的用法

1、slice没有参数&#xff0c;拷贝一个数组&#xff0c;跟原数组无关联 var arr1 [a, b, c]; var arr2 arr1.slice(); console.log(arr2,arr1arr2); 输出&#xff1a;[a, b, c] false 2、slice(start,end)有参数 从start下标开始(包括start)&#xff0c;到end&#xff…

前端算法之选择排序

2、选择排序&#xff08;Selection Sort&#xff09; 选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理&#xff1a;首先在未排序序列中找到最小&#xff08;大&#xff09;元素&#xff0c;存放到排序序列的起始位置&#xff0c;然后&#xff0c;再从剩余未排…

el-table 表格多选, 批量删除功能

一、基础的多选el-table ElementUI 提供了多选行table&#xff0c;同时若依框架也提供了成熟的多选表格。 1.table基础结构 需要绑定selection-change方法 <el-tablev-loading"loading"stripe:data"productList"selection-change"handleSelect…

node的安装与介绍

安装 下载地址 node官网首页就会有两个安装选择&#xff0c;会根据当前电脑的系统自动显示对应的安装包&#xff0c;一个长期维护版&#xff08;LTS&#xff09;,一个是尝鲜版&#xff0c;记住选择LTS版本 安装指定版本下载截图 安装过程截图&#xff08;非常简单&#xff…

计算机设计大赛 深度学习花卉识别 - python 机器视觉 opencv

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &a…

C++ 路径问题

目录 例1 例2 例3 例4 例5 例6 例1 62. 不同路径 1.初始化 2.当前位置的条数&#xff0c;就是上面位置的条数 &#xff0c;加上其左边位置的条数&#xff0c;dp[i][j] dp[i - 1][j] dp[i][j - 1]; 参考代码 class Solution { public:int uniquePaths(int m, int n) …

关于前端的一些

前端侧重于人机交互和用户体验&#xff0c;后端侧重于业务逻辑和大规模数据处理。理论上&#xff0c;面向用户的产品里&#xff0c;所有问题&#xff08;包括产品、设计、后端、甚至看不见的问题&#xff09;的表现形式&#xff0c;都会暴露在前端&#xff0c;而只有部分问题&a…

个推与华为深度合作,成为首批支持兼容HarmonyOS NEXT的服务商

自华为官方宣布HarmonyOS NEXT鸿蒙星河版开放申请以来&#xff0c;越来越多的头部APP宣布启动鸿蒙原生开发&#xff0c;鸿蒙生态也随之进入全新发展的第二阶段。 作为华为鸿蒙生态的重要合作伙伴&#xff0c;个推一直积极参与鸿蒙生态建设。为帮助用户在HarmonyOS NEXT上持续享…

力扣刷题Days11第二题--141. 环形链表(js)

目录 1,题目 2&#xff0c;代码 2.1快慢指针 2.2&#xff0c;哈希表 3&#xff0c;学习与总结 3.1自己尝试写快慢指针 反思 1,题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&…

代码随想录day34:动态规划part2

文章目录 day34&#xff1a;动态规划part262.不同路径63.不同路径 II day34&#xff1a;动态规划part2 62.不同路径 class Solution {public int uniquePaths(int m, int n) {// dp[i][j]&#xff1a;到达(i, j)的路径数量int[][] dp new int[m][n];for (int j 0; j < n…

PostgreSQL安装教程

系统环境 下载压缩包 下载压缩包 解压压缩包 查看解压文件 编译安装 编译 安装 用户权限和环境变量设置 创建用户 创建数据目录和日志目录 设置权限 设置环境变量 初始化数据库 数据库访问控制配置文件 postgresql.conf pg_hba.conf PostgreSQL启动与关闭 手…

Web前端_html5+css3

C/S架构与B/S架构 C/S架构&#xff1a;客户端与服务器&#xff08;需要安装、偶尔更新、不跨平台、安全性要求高&#xff09; B/S架构&#xff1a;浏览器与服务器 HTML认知 注释 在VS Code中键入ctrl / 标签组成和关系 组成&#xff1a;①双标签 ②单标签 关系&#xff…

Docker:部署微服务集群

1. 部署微服务集群 实现思路&#xff1a; ① 查看课前资料提供的cloud-demo文件夹&#xff0c;里面已经编写好了docker-compose文件 ② 修改自己的cloud-demo项目&#xff0c;将数据库、nacos地址都命名为docker-compose中的服务名 ③ 使用maven打包工具&#xff0c;将项目…

Effective C++ 学习笔记 条款17 以独立语句将newed对象置入智能指针

假设我们有个函数用来揭示处理程序的优先权&#xff0c;另一个函数用来在某动态分配所得的Widget上进行某些带有优先权的处理&#xff1a; int priority();void processWidget(std::st1::shared_ptr<Widget> pw, int priority);由于谨记“以对象管理资源”&#xff08;条…

nginx读写锁的实现逻辑

我们一般认为nginx是一个多进程单线程的应用服务&#xff0c;虽然nginx在一个worker进程内是没有数据竞争问题的&#xff08;因为是单线程&#xff09;&#xff0c;但是不免nginx在多个进程间还有一些需要共享的数据&#xff0c;譬如ngx_http_upstream_zone_module模块将peers数…