node.js代码总结
------------------------- node.js 基础 ----------------------------
1. node.js 基础语法及快捷键
node -v 查看node版本
cd 复制粘贴文件的路径 (转换路径)
node 文件名 ;如 node 1.js (执行这个文件)
快捷方法,不用转换路径 (直接在文件目录下,按住shift 鼠标右键,选择 PowerShell)终端中的快捷键
① ↑ 键 (快速定位到上一次执行的命令)
② tab 键(能够快速补全路径)
③ esc 键(能够快速清空当前已输入的命令)
④ cls 命令 (可以清空终端)
2. fs 文件系统模块
const fs = require(‘fs’)
fs.readFile() 方法(读取指定文件的内容)
err 代表失败 、dataStr 代表成功 、utf8 字符编码fs.writeFile() 方法 (向指定文件写入内容)
一个\ 代表转义 要两个 \__dirname 表示当前文件所处的目录(是双下划线)
3. path 路径模块
- const path = require(‘path’)
- path.join([…paths]) (把多个路径片段拼接为完整的路径字符串)
- path.basename(path[,ext]) (可以获取路径中的文件名,第二个参数 删除文件扩展名)
- 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 服务器的基本步骤
- const http = require(‘http’) (导入 http 模块)
- const server = http.createServer() (创建 web 服务器实例(调用 http.createServer() 方法))
- server.on(‘request’,(req,res) => {} (为服务器实例绑定 request 事件)
- server.liston(80, () => {} (启动服务器,80 是默认端口)
2. req 请求对象
- const url = req.url (这个是 客户端请求的 URL 地址)
- const method = req.method (这个是 客户端请求的 method 请求类型)
3. res 响应对象
- res.end() 方法 (就是向客户端发送指定的内容,并且结束掉此次请求的处理过程)
5. 服务器相关的概念
- 127.0.0.0 自己的服务器的 ip 地址 (对应的域名是 localhost)
- URL 中的默认端口 80 可以被省略
--------------------- nodeJS 的模块化开发 -----------------------
1. Node.js 中的模块化
- 内置模块(内置模块是由 Node.js 官方提供的,例如 fs、path、http 等)
- 自定义模块(用户创建的每个 .js 文件,都是自定义模块)
- 第三方模块(由第三方开发出来的模块,并非官方提供的内置模块,也不是用户创建的自定义模块,使用前需要先下载)
1. 加载 内置的 fs 模块const fs = require('fs')2. 加载 用户的 自定义模块const custom = require('./custom.js')3. 加载第三方模块(需要先下载)const moment = require('moment')
2. module 对象
在每个 .js 自定义模块中都有一个 module 对象,它里面存储了和当前模块有关的信息
3. module.exports 对象
- 在自定义模块中,可以使用 module.exports 对象,将模块内的成员共享出去,供外界使用。
- 外界用 require() 方法导入自定义模块时,得到的就是 module.exports 所指向的对象
4. exports 对象
默认情况下,exports 和 module.exports 指向同一个对象。最终共享的结果,还是以 module.exports 指向的对象为准。
// An highlighted block
var foo = 'bar';
--------------------- npm与包 -----------------------
- npm 随着 Node.js 的安装包一起被安装到了用户的电脑上
- npm install(i) 包的完整名称
在项目中安装包的命令 或者 安装指定版本的包 - npm i 包的名称@2.22.2
安装指定版本的包 - npm init -y
快速创建 package.json - npm install 命令(或 npm i)
一次性安装所有的依赖包 - npm uninstall moment(包名称)
卸载指定的包 - npm i 包名称 -D (简写)或 npm install 包名 --save-dev
安装指定的包,并记录到 devDependencies 节点中(开发依赖包) - 解决下包速度慢的问题 (taobao npm镜像,具体看笔记)
- npm i 包名 -g 全局安装指定的包
- npm unistall 包名 -g 卸载全局安装的的包
- i5ting_toc
是一个可以把 md 文档转为 html 页面的小工具
npm install -g i5ting_toc 将他 安装为全局包i5ting_toc -f 要转换的md文件路径 -o 调用它,实现 md 转 html 的功能
- 开发属于自己的包,具体看笔记
node.js代码总结相关推荐
- Node.js 代码阅读笔记系列(0)Timer 的实现
setImmediate 先来看看当我们使用 setImmediate 的时候经历了那些过程 我们先这样用 setImmediate(fn, arg)复制代码 可以看到 setImmediate 接收 ...
- 8 行 Node.js 代码实现代理服务器
接触 Node.js 已有多年,一直喜欢它的单线程模型和异步IO特性,以及 JavaScript 语言本身的灵活性.同时,JavaScript 前后端通吃,在全栈开发领域具有独特的优势.今天就来看看作 ...
- node.js 代码修改 自动识别重启工具
npm install supervisor -g supervisor xx.js 代替 node xx.js 能实现自动重启服务,识别代码更新
- 安装npm_前端开发:node.js的node包管理器npm安装以及使用
在前端开发过程中,node.js进行包管理的时候会使用npm管理器来操作.npm(node package manager)包管理器,主要是用于第三方模块的下载.安装和管理,它具有强大的第三方资源,重 ...
- 如何创建高性能、可扩展的Node.js应用?
作者|Virgafox 译者|姚佳灵 出处丨前端之巅 说明:本文根据原文作者的系列文章编辑而成,略有删改. 在这篇文章中,我们将介绍关于开发 Node.js web 应用程序的一些最佳实践,重点关注效 ...
- Node.js 体验-在Windows Azure工作者角色上托管Node.js
在我的前面的文章中我演示了如何在Windows Azure 网站(即WAWS)上开发和部署Node.js 应用程序.WAWS是Windows Azure 平台中的新功能.因为它是低成本, 同时它提供I ...
- Node.js 快速了解
最近在学习目前非常火的Node.js 写了一份精简易懂的笔记用于快速了解Node.js技术.如有不对的地方还请多多指教. 注:此篇博文不断更新中. 第一部分:快速了解 1.Node.js是什么? No ...
- 将Node.js升级到最新版本
本文翻译自:Upgrading Node.js to latest version So, I have Node.js installed and now when I tried to insta ...
- 读取Node.js中的环境变量
有没有办法在Node.js代码中读取环境变量? 例如,例如Python的os.environ['HOME'] . #1楼 如果要使用在Node.js程序中生成的字符串键(例如var v = 'HOME ...
最新文章
- 如何将知识图谱特征学习应用到推荐系统?
- mybatis的mapper.xml中使用java类中的全局变量
- php 画虚线,HTML5 Canvas绘制圆点虚线实例_html5教程技巧
- 测试socket udp 单次传输数据上限(sendto()函数data不能超过65507字节。udp头占8字节,ip头占20字节,加起来正好65535字节)
- 说说Android桌面(Launcher应用)背后的故事(九)——让我的桌面多姿多彩
- Shell常用参数解释($0、$1、$#、$@、$$、$USER、$HOSTNAME、$LINENO、$RANDOM、$?)
- 配置LINUX的DNS主辅服务器
- python语法学习_python语法学习笔记
- 测试面试题集-Python三局两胜小游戏
- 小程序 自适应rpx
- iOS10 拍照崩溃问题
- 小米虚拟键透明方法_小米 6 用户该换机了!小米 6 Pro 曝光
- ajax如何传两个不同的参数,ajax 如何从后台传多个data对象(多个参数)string类型的...
- Python 代码实现验证码识别
- 阿蛮歌霸未能成功访问服务器,阿蛮歌霸KTV点歌软件提示“歌库数据库连接不正常”的解决方法...
- java paypal开发详解_PayPal 开发详解(六):下载paypal立即付款SDK 并编译打包
- C#【文件操作篇】PDF文件和图片互相转换
- html5手机端页面缩放问题的解决
- 《风车》——仓央嘉措
- 文本文档改扩展名之后没反应、格式不变之解决办法
热门文章
- 【每日一练】56—CSS实现一款实用的响应式卡片悬停效果
- android程序突然崩溃如何调试,Android应用开发android 调试崩溃Unable to instantiate application的解决方法...
- 数据库基本术语DDL,DML, DCL
- 【思特奇杯·云上蓝桥-算法集训营】第1周——了解算法与数据结构
- 【转载】三层交换机与普通的交换机有什么区别
- NFPA-持续为美国贡献防火国家规范的非政府协会
- 【好用的办公软件】万彩办公大师教程丨标准安装版/绿色免安装版/离线版区别
- 淘淘商城第51讲——从商城首页跳转到搜索页面
- springboot实现邮箱验证
- SQL SERVER 字符串转表函数