当前位置: 首页 > wzjs >正文

做网站就是做服务网站建设与管理说课稿

做网站就是做服务,网站建设与管理说课稿,长春网站建设58同城,网站建设怎样创建链接我们之前学习的 JavaScript 主要运行在浏览器中,由浏览器内置的 JavaScript 引擎(如 Chrome 的 V8 引擎)来解释执行。Node.js 则是一个JavaScript 运行时环境,它也使用了 Chrome 的 V8 引擎,但它不是在浏览器里&#x…

我们之前学习的 JavaScript 主要运行在浏览器中,由浏览器内置的 JavaScript 引擎(如 Chrome 的 V8 引擎)来解释执行。Node.js 则是一个JavaScript 运行时环境,它也使用了 Chrome 的 V8 引擎,但它不是在浏览器里,而是在服务器端或者你的本地计算机上运行。这意味着,你可以使用你熟悉的 JavaScript 语言来编写服务器端的代码了!

为什么选择 Node.js 做后端?

Node.js 的设计哲学是事件驱动 (Event-driven)非阻塞 I/O (Non-blocking I/O)

想象一下餐厅厨房:

  • 阻塞 I/O (Blocking I/O) 就像一个厨师在准备一道需要炖 2 小时的菜。在炖的过程中,这个厨师就不能去做其他任何事情,只能干等着。
  • 非阻塞 I/O (Non-blocking I/O) 就像厨师把菜放进炖锅,然后立即转身去切菜、炒别的菜,当炖锅里的菜好了,计时器会发出事件通知,厨师再去处理。

Node.js 的非阻塞 I/O 使得它在处理大量并发请求时表现出色。它不会因为等待某个耗时操作(比如读取文件、查询数据库、网络请求)而阻塞整个进程,而是通过事件循环 (Event Loop) 在后台处理这些操作,并在完成后触发回调函数(事件),这样就可以同时处理更多的“订单”。这使得 Node.js 非常适合构建高并发的网络应用。

此外,Node.js 和前端使用同一种语言,可以方便地共享代码和开发者资源,这是全栈 JavaScript 的一大优势。

安装 Node.js:

请访问 Node.js 官方网站 (https://nodejs.org/) 下载并安装适合你操作系统的版本。安装 Node.js 会同时安装 npm (Node Package Manager) 包管理器。如果你倾向使用 yarn,可以单独安装 yarn (npm install -g yarn)。

npm/yarn 包管理器与 package.json:

我们之前在前端已经接触过 npm/yarn,用来安装和管理前端库。在 Node.js 项目中,它们同样是管理第三方依赖(比如 Express 框架、数据库驱动等)的核心工具。

package.json 文件是 Node.js 项目的“身份证”和“项目配置清单”。它记录了:

  • 项目的名称 (name)、版本 (version)。
  • 项目的描述 (description)。
  • 项目的入口文件 (main)。
  • 项目使用的脚本命令 (scripts),比如启动服务器、运行测试等。
  • 项目依赖的第三方包 (dependencies) 和开发依赖 (devDependencies)。

初始化一个 Node.js 项目:

mkdir my-node-app
cd my-node-app
npm init -y   # 使用 -y 参数跳过交互式提问,快速生成默认的 package.json
# 或者使用 yarn
# yarn init -y

现在你的项目目录下就有了 package.json 文件。
在这里插入图片描述

安装第三方包:

npm install express   # 安装 express 包到 dependencies (生产环境和开发环境都需要)
npm install typescript --save-dev # 安装 typescript 包到 devDependencies (只在开发环境需要,编译用)
# 或者使用 yarn
# yarn add express
# yarn add typescript --dev

安装后,package.json 文件会更新,记录下这些依赖包及其版本。项目目录下会生成一个 node_modules 目录,所有安装的包都在这里。同时会生成 package-lock.json (npm) 或 yarn.lock (yarn),用于锁定依赖版本,确保团队成员安装到完全一致的环境。
在这里插入图片描述

模块系统:CommonJS vs ES Modules:

在 Node.js 发展初期,JavaScript 本身没有模块系统。Node.js 采用了 CommonJS 模块系统,使用 require() 导入模块,使用 module.exportsexports 导出模块。

// CommonJS 导出
// utils.js
const add = (a, b) => a + b;
module.exports = { add };// CommonJS 导入
// main.js
const utils = require('./utils');
console.log(utils.add(1, 2)); // 3

随着 ES6 标准的发布,JavaScript 有了自己的模块系统 ES Modules (import/export)。较新版本的 Node.js (12+) 已经原生支持 ES Modules,可以通过在 package.json 中设置 "type": "module" 或者使用 .mjs 文件后缀来启用。

// ES Modules 导出
// utils.mjs 或者 utils.js (如果 package.json 中设置了 "type": "module")
export const add = (a, b) => a + b;// ES Modules 导入
// main.mjs 或者 main.js (如果 package.json 中设置了 "type": "module")
import { add } from './utils.js'; // 注意:在 Node.js 中使用 ES Modules 导入本地文件需要带上文件扩展名 .js 或 .mjs
console.log(add(1, 2)); // 3

在实际项目中,特别是新项目,推荐使用 ES Modules。如果使用 TypeScript,通常也会配置 TypeScript 编译器生成 ES Modules 代码。

小例子:Hello World Node.js 脚本

创建一个文件 hello.js:

// hello.js
console.log("Hello, Node.js!");

在终端运行:

node hello.js

你会在终端看到输出 “Hello, Node.js!”。恭喜你,你已经成功在服务器端(本地计算机上)运行了第一段 JavaScript 代码。

在这里插入图片描述

小例子:使用 npm 安装和使用第三方包

在你的 my-node-app 项目目录中(确保已经 npm init -y):

npm install lodash

创建一个文件 use-lodash.js:

// use-lodash.js
const _ = require('lodash'); // CommonJS 方式导入 lodashconst numbers = [1, 2, 3, 4, 5];
const sum = _.sum(numbers);console.log("使用 lodash 计算总和:", sum);

运行脚本:

node use-lodash.js

输出应为 “使用 lodash 计算总和: 15”。这展示了如何在 Node.js 中使用 npm 安装和导入第三方库。
在这里插入图片描述

小结: Node.js 使得 JavaScript 可以运行在服务器端,其事件驱动和非阻塞 I/O 的特性使其适合高并发场景。npm/yarn 是 Node.js 项目的包管理器,package.json 是项目配置清单。Node.js 支持 CommonJS 和 ES Modules 两种模块系统,现代项目推荐使用 ES Modules。

练习:

  1. 在一个新的目录中初始化一个 Node.js 项目。
  2. 安装 fs 模块(fs 是 Node.js 的核心模块,无需安装,直接 require 即可)。
  3. 编写一个 Node.js 脚本,使用 fs.readFile() 方法(异步读取文件)读取一个本地文本文件(例如 package.json),并在文件读取完成后,将文件内容打印到控制台。注意处理读取文件可能出现的错误。
  4. 修改上一个脚本,使用 fs.readFileSync() 方法(同步读取文件),比较两种方法的不同(异步是非阻塞的,同步是阻塞的)。
http://www.dtcms.com/wzjs/599716.html

相关文章:

  • 用php做高中数学题库网站html5网站开发特点
  • 做海岛旅游类网站的背景及意义做网站维护的人叫啥
  • 网站伪静态规则浏览器打开app
  • 评价一个网站wordpress 地址插件
  • 怎么做qq钓鱼网站windows网页制作工具
  • 网站建设项目外包做网站用jsp和html
  • 企业网站不足室内设计有哪些网站
  • 织梦制作网站地图工程分包网
  • 模仿淘宝网站吉林省建设信息网站
  • 新建茶叶网站文章内容建设推荐 网页游戏
  • 网站续费自己做做微信广告网站
  • 对象存储 做视频网站网站建设的设计思路
  • 外卖网站建设的策划wordpress 搜索报错
  • 如何快速备案网站电子贺卡制作软件app
  • 运河经济开发区建设局网站建站之星模板制作
  • 台州公司建站模板wordpress链接失效
  • 宠物网站推广怎么做2023年二建报名网站官网登录
  • 石家庄做网站制作公司wordpress主题文件在哪
  • 网站导航页怎么做泉州网站外包
  • 苏州市网站建设服务房地产开发公司注册资金要求
  • 精品课程网站的建设电气毕业设计代做网站
  • 网站建设水上乐园建网站公司那个比较好
  • 长沙建站智能模板设计师接单渠道
  • php手机网站后台源码公众号运营内容
  • 外贸网站免费模板开发网站的目标
  • 商业网站页面厦门建设局电话
  • 连云港东海县做网站工商网上注册
  • 电子商务网站建设与实践考试个人怎么建立网站吗
  • 新产品如何快速推广市场福州百度推广优化排名
  • 门户类网站有哪些张雪峰谈电子商务专业