------------------------- node.js 基础 ----------------------------

1. node.js 基础语法及快捷键

  1. node -v 查看node版本

  2. cd 复制粘贴文件的路径 (转换路径)

  3. node 文件名 ;如 node 1.js (执行这个文件)
    快捷方法,不用转换路径 (直接在文件目录下,按住shift 鼠标右键,选择 PowerShell)

  4. 终端中的快捷键
    ① ↑ 键 (快速定位到上一次执行的命令)
    ② tab 键(能够快速补全路径)
    ③ esc 键(能够快速清空当前已输入的命令)
    ④ cls 命令 (可以清空终端)

2. fs 文件系统模块

  1. const fs = require(‘fs’)

  2. fs.readFile() 方法(读取指定文件的内容)
    err 代表失败 、dataStr 代表成功 、utf8 字符编码

  3. fs.writeFile() 方法 (向指定文件写入内容)
    一个\ 代表转义 要两个 \

  4. __dirname 表示当前文件所处的目录(是双下划线)

3. path 路径模块

  1. const path = require(‘path’)
  2. path.join([…paths]) (把多个路径片段拼接为完整的路径字符串)
  3. path.basename(path[,ext]) (可以获取路径中的文件名,第二个参数 删除文件扩展名)
  4. path.extname(ext) (可以从一个文件路径中,获取到文件的扩展名)
path.join(__dirname, './files/1.txt')path.basename(fpath)
path.basename(fpath, '.html') // index 移除了 .htmlpath.extname(fpath)  // 获取扩展名 .html

4. http 模块

1. 创建 web 服务器的基本步骤

  1. const http = require(‘http’) (导入 http 模块)
  2. const server = http.createServer() (创建 web 服务器实例(调用 http.createServer() 方法))
  3. server.on(‘request’,(req,res) => {} (为服务器实例绑定 request 事件)
  4. server.liston(80, () => {} (启动服务器,80 是默认端口)

2. req 请求对象

  1. const url = req.url (这个是 客户端请求的 URL 地址)
  2. const method = req.method (这个是 客户端请求的 method 请求类型)

3. res 响应对象

  1. res.end() 方法 (就是向客户端发送指定的内容,并且结束掉此次请求的处理过程)

5. 服务器相关的概念

  1. 127.0.0.0 自己的服务器的 ip 地址 (对应的域名是 localhost
  2. URL 中的默认端口 80 可以被省略

--------------------- nodeJS 的模块化开发 -----------------------

1. Node.js 中的模块化

  1. 内置模块(内置模块是由 Node.js 官方提供的,例如 fs、path、http 等)
  2. 自定义模块(用户创建的每个 .js 文件,都是自定义模块)
  3. 第三方模块(由第三方开发出来的模块,并非官方提供的内置模块,也不是用户创建的自定义模块,使用前需要先下载)
1. 加载 内置的 fs 模块const fs = require('fs')2. 加载 用户的 自定义模块const custom = require('./custom.js')3. 加载第三方模块(需要先下载)const moment = require('moment')

2. module 对象

在每个 .js 自定义模块中都有一个 module 对象,它里面存储了和当前模块有关的信息

3. module.exports 对象

  1. 在自定义模块中,可以使用 module.exports 对象,将模块内的成员共享出去,供外界使用。
  2. 外界用 require() 方法导入自定义模块时,得到的就是 module.exports 所指向的对象

4. exports 对象

默认情况下,exportsmodule.exports 指向同一个对象。最终共享的结果,还是以 module.exports 指向的对象为准。

// An highlighted block
var foo = 'bar';

--------------------- npm与包 -----------------------

  1. npm 随着 Node.js 的安装包一起被安装到了用户的电脑上
  2. npm install(i) 包的完整名称
    在项目中安装包的命令 或者 安装指定版本的包
  3. npm i 包的名称@2.22.2
    安装指定版本的包
  4. npm init -y
    快速创建 package.json
  5. npm install 命令(或 npm i)
    一次性安装所有的依赖包
  6. npm uninstall moment(包名称)
    卸载指定的包
  7. npm i 包名称 -D (简写)或 npm install 包名 --save-dev
    安装指定的包,并记录到 devDependencies 节点中(开发依赖包)
  8. 解决下包速度慢的问题 (taobao npm镜像,具体看笔记)
  9. npm i 包名 -g 全局安装指定的包
  10. npm unistall 包名 -g 卸载全局安装的的包
  11. i5ting_toc
    是一个可以把 md 文档转为 html 页面的小工具
 npm install -g i5ting_toc  将他 安装为全局包i5ting_toc -f 要转换的md文件路径 -o  调用它,实现 md 转 html 的功能
  1. 开发属于自己的包,具体看笔记

node.js代码总结相关推荐

  1. Node.js 代码阅读笔记系列(0)Timer 的实现

    setImmediate 先来看看当我们使用 setImmediate 的时候经历了那些过程 我们先这样用 setImmediate(fn, arg)复制代码 可以看到 setImmediate 接收 ...

  2. 8 行 Node.js 代码实现代理服务器

    接触 Node.js 已有多年,一直喜欢它的单线程模型和异步IO特性,以及 JavaScript 语言本身的灵活性.同时,JavaScript 前后端通吃,在全栈开发领域具有独特的优势.今天就来看看作 ...

  3. node.js 代码修改 自动识别重启工具

    npm install supervisor -g supervisor xx.js 代替 node xx.js 能实现自动重启服务,识别代码更新

  4. 安装npm_前端开发:node.js的node包管理器npm安装以及使用

    在前端开发过程中,node.js进行包管理的时候会使用npm管理器来操作.npm(node package manager)包管理器,主要是用于第三方模块的下载.安装和管理,它具有强大的第三方资源,重 ...

  5. 如何创建高性能、可扩展的Node.js应用?

    作者|Virgafox 译者|姚佳灵 出处丨前端之巅 说明:本文根据原文作者的系列文章编辑而成,略有删改. 在这篇文章中,我们将介绍关于开发 Node.js web 应用程序的一些最佳实践,重点关注效 ...

  6. Node.js 体验-在Windows Azure工作者角色上托管Node.js

    在我的前面的文章中我演示了如何在Windows Azure 网站(即WAWS)上开发和部署Node.js 应用程序.WAWS是Windows Azure 平台中的新功能.因为它是低成本, 同时它提供I ...

  7. Node.js 快速了解

    最近在学习目前非常火的Node.js 写了一份精简易懂的笔记用于快速了解Node.js技术.如有不对的地方还请多多指教. 注:此篇博文不断更新中. 第一部分:快速了解 1.Node.js是什么? No ...

  8. 将Node.js升级到最新版本

    本文翻译自:Upgrading Node.js to latest version So, I have Node.js installed and now when I tried to insta ...

  9. 读取Node.js中的环境变量

    有没有办法在Node.js代码中读取环境变量? 例如,例如Python的os.environ['HOME'] . #1楼 如果要使用在Node.js程序中生成的字符串键(例如var v = 'HOME ...

最新文章

  1. 如何将知识图谱特征学习应用到推荐系统?
  2. mybatis的mapper.xml中使用java类中的全局变量
  3. php 画虚线,HTML5 Canvas绘制圆点虚线实例_html5教程技巧
  4. 测试socket udp 单次传输数据上限(sendto()函数data不能超过65507字节。udp头占8字节,ip头占20字节,加起来正好65535字节)
  5. 说说Android桌面(Launcher应用)背后的故事(九)——让我的桌面多姿多彩
  6. Shell常用参数解释($0、$1、$#、$@、$$、$USER、$HOSTNAME、$LINENO、$RANDOM、$?)
  7. 配置LINUX的DNS主辅服务器
  8. python语法学习_python语法学习笔记
  9. 测试面试题集-Python三局两胜小游戏
  10. 小程序 自适应rpx
  11. iOS10 拍照崩溃问题
  12. 小米虚拟键透明方法_小米 6 用户该换机了!小米 6 Pro 曝光
  13. ajax如何传两个不同的参数,ajax 如何从后台传多个data对象(多个参数)string类型的...
  14. Python 代码实现验证码识别
  15. 阿蛮歌霸未能成功访问服务器,阿蛮歌霸KTV点歌软件提示“歌库数据库连接不正常”的解决方法...
  16. java paypal开发详解_PayPal 开发详解(六):下载paypal立即付款SDK 并编译打包
  17. C#【文件操作篇】PDF文件和图片互相转换
  18. html5手机端页面缩放问题的解决
  19. 《风车》——仓央嘉措
  20. 文本文档改扩展名之后没反应、格式不变之解决办法

热门文章

  1. 【每日一练】56—CSS实现一款实用的响应式卡片悬停效果
  2. android程序突然崩溃如何调试,Android应用开发android 调试崩溃Unable to instantiate application的解决方法...
  3. 数据库基本术语DDL,DML, DCL
  4. 【思特奇杯·云上蓝桥-算法集训营】第1周——了解算法与数据结构
  5. 【转载】三层交换机与普通的交换机有什么区别
  6. NFPA-持续为美国贡献防火国家规范的非政府协会
  7. 【好用的办公软件】万彩办公大师教程丨标准安装版/绿色免安装版/离线版区别
  8. 淘淘商城第51讲——从商城首页跳转到搜索页面
  9. springboot实现邮箱验证
  10. SQL SERVER 字符串转表函数