自学WEB服务器搭建01-安装Express+Node.js框架完成Hello World!

news2024/11/28 9:23:18

一、前言,网站开发扫盲知识

1.网站搭建开发包括什么?

前端、后端(服务端)+数据库

 前端开发主要涉及用户界面(UI)和用户体验(UX),负责实现网站的外观和交互逻辑。前端开发使用HTML、CSS和JavaScript等技术来构建网页,并通过各种工具和框架(如React、Vue.js、Angular等)来简化开发过程。前端开发关注于网页设计、布局、样式、动画效果以及与用户的交互。

后端开发则处理网站的业务逻辑和数据存储。它负责处理用户提交的请求、进行数据处理和存储、与数据库或其他第三方服务进行交互等。后端开发使用各种编程语言(如JavaScript、Python、Java、Ruby等)和框架(如Node.js、Django、Spring、Ruby on Rails等)来构建服务器端应用程序。

一个网站的全部结构

除了前端和后端开发,还有其他一些重要的方面需要考虑,例如数据库设计、安全性、性能优化、测试和部署等。

因此,一个完整的网站搭建和开发过程往往涉及到前端开发和后端开发两个方面的工作,它们密切合作以实现一个功能完整、用户友好且高效的网站。

  1. 结构(Structure):网页的结构是指网页的骨架,包括 HTML/HTML5 标签和元素。这些标签和元素用于组织和呈现网页的内容,如文本、图像、链接等。

  2. 样式(Presentation):网页的样式是指网页的外观和布局,通常由 CSS 代码定义。CSS 用于设置字体、颜色、大小、间距、边框等属性,以控制网页元素的呈现效果。

  3. 行为(Behavior):网页的行为是指网页与用户交互的功能,通常由 JavaScript 代码实现。JavaScript 用于处理用户事件(如点击、滚动等)、动态修改网页内容和样式,以及实现一些特效和交互功能。

  4. 内容(Content):网页的内容是指网页实际展示给用户的文本、图像、音频、视频等资源。内容是网页的核心,决定了网页的主题和目的。

  5. 媒体(Media):网页的媒体是指网页中使用的图片、音频、视频等多媒体资源。这些资源可以通过 HTML 标签嵌入到网页中,为网页增加视觉效果和听觉体验。

  6. 交互(Interaction):网页的交互是指网页与用户之间的互动,通常通过表单、按钮、链接等元素实现。用户可以通过这些元素与网页进行交互,如提交表单、点击按钮等。

  7. 导航(Navigation):网页的导航是指网页中用于引导用户浏览其他页面或内容的链接、按钮和菜单。导航元素有助于用户在网页之间进行跳转,查找所需信息。

2.什么是网页框架?干什么用?

  • 网页框架主要服务于前端和后端

  • 前端框架负责处理网页的呈现、交互和用户体验,通常包括 HTML、CSS 和 JavaScript。
  • 后端框架负责处理服务器端的逻辑、数据存储和与前端框架的通信。

前端框架的例子有:

  1. React:一款由 Facebook 开发的高性能、组件化的 JavaScript 库,用于构建用户界面。
  2. Angular:一款由 Google 开发的前端框架,使用 TypeScript 编写,提供了丰富的功能和组件库。
  3. Vue.js:一款渐进式、组件化的 JavaScript 框架,用于构建用户界面。
  4. jQuery UI:一款基于 jQuery 的用户界面库,提供了丰富的 UI 组件和动画效果。

后端框架的例子有:

  1. Django:一款基于 Python 的 Web 框架,用于构建动态网站和 Web 应用程序。
  2. Flask:一款基于 Python 的轻量级 Web 框架,用于构建 Web 应用程序。
  3. Express(Node.js):一款基于 Node.js 的 Web 开发框架,用于构建高性能、可扩展的 Web 应用程序。
  4. Ruby on Rails:一款基于 Ruby 的 Web 框架,用于构建 Web 应用程序。

二、安装与Hello World

首先假定你已经安装了 Node.js,

win+R-cmd 打开命令终端窗口

1.创建文件目录到本地服务器

接下来为你的应用创建一个目录,然后进入此目录并将其作为当前工作目录。

$ mkdir myapp
$ cd myapp
mkdir myapp

创建一个文件夹叫 myapp。路径位于C:\Users\你的计算机名\myapp

cd myapp 是进入这个文件夹内

2.利用node.js 命令 导入项目依赖管理文件

$ npm init

一直按回车,最后回复yes!

`npm init`是一个命令行工具,用于初始化一个新的npm包(或者项目)。它会引导你通过一系列的问题和选项来创建一个`package.json`文件,以记录和管理你的应用程序的配置信息。

npm的全称是Node Package Manager,即Node.js包管理器。

"init"是"initialize"的缩写,意思是初始化或开始的意思。在计算机领域中,"init"通常用于描述开始或创建一个新的实体、进程或配置。

在软件开发中,"init"常用于表示初始化一个项目、设置默认值或创建初始文件等操作。例如,"npm init"命令用于初始化一个新的npm包,创建一个初始的package.json文件。

通过运行`npm init`命令,你可以提供一些基本的项目信息,例如包的名称、版本、描述、入口文件等。你还可以选择性地提供其他信息,如作者、许可证、存储库URL等。

`npm init`的主要作用包括:

1. 创建`package.json`文件:它是一个用于管理和描述Node.js项目的配置文件。

2. 管理依赖项:在初始化过程中,你可以选择是否在`package.json`中添加项目的依赖项,并指定它们的版本。

3. 保存项目的元数据:`package.json`文件中记录了项目的元数据信息,包括名称、版本、作者、许可证等。

4. 简化项目的管理:通过创建`package.json`文件,你可以使用npm来安装依赖项、运行脚本、发布软件包等。

总之,`npm init`命令是用于初始化一个新的npm包(或者项目),并生成`package.json`文件。这个文件在后续的开发、测试和部署过程中起着重要的作用。

3.安装express依赖包

$ npm install express --save

npm install express --save是一个用于安装Express框架及其依赖项的npm命令。

具体解释如下:

  • npm是Node.js的包管理器,用于管理和安装JavaScript包和依赖项。
  • installnpm命令的一个子命令,用于安装包或模块到当前项目中。
  • express是一个流行的Node.js框架,用于构建Web应用程序和API。这个命令将安装最新版本的Express框架。
  • --save是一个选项,指示npm将包信息保存到package.json文件的dependencies部分。它会自动将依赖项的名称和版本添加到package.json文件中,以便在将来重新安装项目时能够正确地安装依赖项。

因此,当你运行npm install express --save时,npm会下载并安装最新版本的Express框架,并将其作为项目的依赖项保存在package.json文件中。

4.编写Hello world example

4.1在文件夹myapp 中创建个js文件叫app.js(自己命名)

用记事本打开这个js文件,输入hello world 代码

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

4.2 在命令行中进入包含app.js文件的目录

4.3 命令窗口输入:

cd myapp  //进入myapp目录!

 node app.js

node app.js是一个运行Node.js应用程序的命令。

具体解释如下:

  • node是Node.js的可执行文件,用于运行JavaScript代码。
  • app.js是一个JavaScript文件,其中包含了Node.js应用程序的代码。

当你运行node app.js时,Node.js解释器将读取并执行app.js文件中的代码。这将启动你的Node.js应用程序,并根据app.js文件中的代码逻辑执行相应的操作。

浏览器输入127.0.0.1:3000  或者http://localhost:3000/

(这个地址是当前服务器的本地地址,不需要域名就可以访问 端口3000是刚才我们指定的,不懂可以问呱呱www.readygpt.cn)

 恭喜完成Hello world!

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

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

相关文章

强引用,弱引用,软引用,虚引用它们有什么区别?你知道吗?

目录 1. 先简单了解JVM内存模型 2. 强引用类型解析 2.1 强引用理论解释 2.2 强引用代码演示 3. 软引用类型解析 3.1 软引用理论解释 3.2 软引用与强引用的区别? 3.3 软引用代码展示 3.4 软引用的使用场景? 4. 弱引用类型解析 4.1 弱引用理论解…

Windows无法安装到这个磁盘怎么办?

在固态硬盘(SSD)上安装Windows 11/10/8/7会使您的计算机运行速度更加快速,程序响应速度更加迅捷,如果您遇到了和上述案例相似的情况,Windows无法安装到固态硬盘上,也不用太过苦恼,造成此问题的原…

iOS设备自动备份软件哪个更好用?

备份是在使用iOS设备时经常用到一个功能。有很多种方法可以自动备份iOS设备,有通过iCloud进行自动备份的方法,有通过iTunes进行的,而今天小编再给大家介绍一个通过iOS设备管理软件iMazing进行自动备份的方法。这三种方法究竟哪一个更适合大家…

ElasticSearch自学笔记

es学习内容 day01 概念区别 Mysql和es概念对比 mysql:擅长事务类型的操作,可以确保数据的安全和一致性ES:擅长海量数据的搜索,分析和计算 mapping 属性 创建index的时候值为true就是参与搜索 索引库修改 PUT /库名/_mapping 字段名必须是新字段名文…

3dmax渲染内存不足,这样解决!

在3dmax工作时显示以下错误消息,3ds Max 中“发生内存不足错误”或者是3dmax渲染内存不足,可能还注意到系统性能很慢。 3dmax渲染内存不足原因: 发生此错误的原因是计算机在完成您请求的操作之前耗尽了可用内存。执行任何过程时都可能会出…

DP7340——192KHz双声道输入24位AD 转换器

DP7340是一款完整的采样、模数音频信号转换、抗混叠滤波的芯片,在串行格式下以每声道最高200kHz采样率高达24位宽,并支持大部分的音频数据格式。 DP7340基于一个带线性模拟低通滤波器的五阶Multi-BitΔ∑调制器,自动检测信号频率和主时钟频率…

记:CN 470-510MHz Band

目录 CN470-510 序头格式 CN470-510频道频率 CN470-510 数据速率和终端输出功率编码 CF470-510 JoinResp CFList CN470-510 LinkADRReq命令 CN470-510 最大载荷大小 CN470-510接收窗口 CN470-510默认参数 CN470-510 序头格式 应使用以下同步字: 调制同步字…

Pyside6:开发一个自适应的图片控件

在Qt中最简单展示图片用的控件是QLabel,但这个控件使用起来非常不方便,没有添加自适应的时候: 可以发现该图片是按真实像素来展示的,因此图片如果过大,只能展示局部。那么添加自适应后,变化又会出现&#x…

简单但好用:4种Selenium截图方法了解一下!

前言 我们执行UI自动化操作时,大多数时间都是不在现场的,出现错误时,没有办法第一时间查看到,这时我们可以通过截图当时出错的场景保存下来,后面进行查看报错的原因,Selenium中提供了几种截图的方法&#…

spring bean实例化过程及顺序

spring bean的初始化从doCreateBean方法开始,依次会调用下面三个方法执行bean的初始化。大部分方法都在AbstractAutowireCapableBeanFactory类中。 实例化 createBeanInstance()方法根据BeanDef获取bean对应的class通过反射调用构造函数进行bean的实例化。 这里会…

C语言的stdio.h的介绍

C语言的stdio.h的介绍 C语言的stdio.h的介绍 C语言的stdio.h的介绍C语言stdio.h的介绍 C语言stdio.h的介绍 这个含义是导入标准输入输出库 包含头文件.h&#xff0c;std标准库&#xff0c;io是input output输入输出库 <>代表系统库&#xff0c;自定义的话用""…

Android Jetpack Compose之确定重组范围并优化重组

目录 1.概述2.确定Composable重组的范围3.优化重组的性能3.1 Composable 位置索引3.2 通过Key添加索引信息3.3 使用注解Stable优化重组 1.概述 前面的文章提到Compose的重组是智能的&#xff0c;Composable函数在进行重组时会尽可能的跳过不必要的重组&#xff0c;只对需要变化…

C语言中结构体,枚举,联合相关介绍

本次重点&#xff1a; 1、结构体 &#xff1a; &#xff08;1&#xff09;结构体类型的声明 &#xff08;2&#xff09;结构的自引用 &#xff08;3&#xff09;结构体变量的定义和初始化 &#xff08;4&#xff09;结构体内存对齐 &#xff08;5&#xff09;结构体传参 …

干细胞液氮容器选择与使用

干细胞液氮容器的使用非常重要&#xff0c;以确保干细胞样品在冷冻和储存过程中的有效性和安全性。以下是使用干细胞液氮容器时需要注意的事项&#xff1a; 1、容器选择&#xff1a;选择合适的容器非常重要。容器应具有良好的密封性能和耐腐蚀性&#xff0c;以避免外部空气和污…

01-Zookeeper特性与节点数据类型详解

上一篇&#xff1a; 在了解Zookeeper之前&#xff0c;需要对分布式相关知识有一定了解&#xff0c;什么是分布式系统呢&#xff1f;通常情况下&#xff0c;单个物理节点很容易达到性能&#xff0c;计算或者容量的瓶颈&#xff0c;所以这个时候就需要多个物理节点来共同完成某项…

Oracle VM VirtualBox安装并下载安装CentOS7

Oracle VM VirtualBox安装并下载安装CentOS7 Oracle VM VirtualBox下载CentOS创建虚拟机 Oracle VM VirtualBox VM下载链接 https://www.oracle.com/cn/virtualization/virtualbox/ 点击链接直接下载就行&#xff0c;下载完默认安装或者更改一下安装目录。 下载CentOS http://…

服务网格概述

引言 2016 年前后&#xff0c;"服务网格"这个词出现在微服务、云计算和 DevOps 的领域。Buoyant 团队在 2016 年用这个词来解释他们的产品 Linkerd。服务网格的到来主要是由于 IT 领域内的一场风暴。开发人员开始使用多语言&#xff08;polyglot&#xff09;方法构建…

古彝文识别:文化遗产的数字化之旅

目录 &#x1f345;前言&#x1f353;古彝文介绍&#x1f353;古彝文识别的重难点&#x1f352;原籍难以获取&#xff0c;传统翻译过程繁琐&#xff0c;周期长。&#x1f352;版式多样&#xff0c;笔画相近。&#x1f352;图像质量差&#xff0c;手写识别难。&#x1f352;古彜…

第二证券:迎政策助力,新型工业化爆发,德恩精工3日涨超60%

新式工业化概念26日盘中大幅拉升&#xff0c;到发稿&#xff0c;德恩精工、精伦电子、天永智能等涨停&#xff0c;固高科技涨约8%&#xff0c;亚威股份涨逾6%&#xff0c;金自天正、创世纪涨约5%。 值得注意的是&#xff0c;精伦电子已接连5个交易日涨停&#xff0c;公司昨日晚…

Mac菜单栏图标管理工具:Bartender 5 完美兼容MacOS Sonoma 14系统

Bartender 5 是一款流行的软件程序&#xff0c;专为酒店行业的调酒师和专业人士设计。它提供了一系列功能和工具来简化酒吧或餐厅的饮料订单、库存和客户偏好的管理流程。Bartender 5 的一些主要功能包括&#xff1a; 1. 饮料配方&#xff1a;该软件包括一个全面的饮料配方数据…