node.js 基础入门

本文介绍了Node.js,一个使用Chrome V8引擎的JavaScript运行时环境,支持服务端开发,让前端工程师扩展JS能力,并通过npm管理和模块化。还讲解了npm的作用和基本使用,以及Node.js与前端JS的区别。
摘要由CSDN通过智能技术生成

nodejs 是什么

  • 一个基于 Chrome V8 引擎的 Javascript 运行时
  • 2009 年发布,现已更新到 V12 版本
  • 现已广泛应用于开源社区和各种公司,特别是互联网公司

chrome V8 引擎

  • chrome 是一个浏览器,它可以执行 js 代码
  • V8 就是 chrome 的 js 引擎,以速度著称
  • nodejs 也是基于 js 语法的,因此也可以借用 V8 引擎

运行时

  • 代码的运行环境
  • 有了运行时,代码才能被执行
  • 没有运行时,代码就是一堆静态的文本,就像 txt 一样

nodejs 的价值

  • 让 js “放飞自我”,不再是网页的一部分
  • 让 js 可以做更多的事情
  • 也让前端工程师可以做更多的事情

如何用 nodejs 做服务端

  • 安装 nodejs
  • 编写 js 代码(处理 http 请求)
  • 使用 nodejs 执行 js 代码

总结

  • nodejs 是一个基于 Chrome V8 引擎的 js 运行时
  • nodejs 使得 js 语言能做更多的事情,而不仅仅是网页
  • 安装 nodejs ,即可执行 js 代码

npm 是什么

  • node package manager,即 nodejs 软件包管理者
  • 官网 https://www.npmjs.com/
  • 有几百万的软件包,开源免费

软件包有何用

  • 现代软件工程已经完善且成熟,项目不会从 0 开始写
  • 必须搭配成熟的工具和框架才能满足需求,否则将无人使用
  • 每个成熟的开发语言或者环境,都需要成熟的软件包体系。

开始使用 npm

  • npm 会随着 nodejs 一起被安装
  • npm init 初始化环境
  • npm install lodash --save 安装 lodash

lodash

  • Javascript 实用程序库

nodemon

  • 启动 nodejs 程序

commonjs 语法介绍

  • module.exports
  • require(…)
  • 主要用于 nodejs 开发

require(…) 的三个层级

  • 系统自带模块, 如 require(‘http’)
  • npm 包,如 require(‘lodash’)
  • 自定义模块,如 require(‘a’)

commonjs 和 ES6 Module 的区别

  • 两者语法不一样
  • commonjs 是执行时引入,动态的
  • ES6 Module 是打包时引入,静态的

为何使用模块化

  • 模块拆分开,便于代码的组织和管理
  • 便于多人协作开发,各写各的互不干扰
  • 成熟的语言,都支持模块话,如 C C++ java php python Go

nodejs debug

什么是 debug

  • bug 即错误
  • debug 即排错,也叫调试
  • 编程语言,必须有成熟的debug机制,否则将不可用

debug 的重要性

  • 程序出 bug 很常见,因此 debug 也很常用
  • 出了 bug,得需要知道代码是如何运行出错的
  • 就像一台机器异响,得拆开外壳看看里面如何运转的

inspect 调试法

  • 修改 scripts,增加 --inspect,启动服务
  • 打开 chrome,访问 chrome://inspect
  • 增加 debugger,重启服务,即可调试

nodejs 和 前端 js 区别

  • 两者都使用 js 语法
  • 前端 js 使用 浏览器提供的 Web API
  • nodejs 使用 nodejs API
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值