系统模块
Node运行环境提供的API。因为这些API都是以模块化的方式进行开发的。所以我们又称为Node运行环境提供的API为系统模块
文件操作模块fs
- 文件操作模块的使用
const fs = require('fs');
- 读取文件内容
fs.readFile('文件路径/文件名称'[,'文件编码'],callBack);
//例如读取上一级目录下中的index.css
fs.readFile('../css/index.css','utf-8',(err,data)=>{
//如果文件读取发生错误,参数err的值为错误对象,否则err的值为null
//doc参数为文件内容
if(err == null){
//在控制台中输出文件内容
console.log(doc);
}
})
- 写入文件内容
应用场景:当程序运行报错时,我可以把报错信息写入日志当中
fs.writeFile('文件路径/文件名称','数据',callback);
注意:文件内容写入会覆盖文件原有的内容,如果没有写入的文件,则会自动创建文件
路径操作模块path
-
为什么要进行路径拼接
(1)不同操作系统的路径分隔符不统一
(2)windows上是/
(3)linux上是\ -
相对路径VS绝对路径
(1)大多数情况下使用绝对路径,因为相对路径有时候相对的是命令行工具的当前工作目录
(2)在读取文件或者设置文件路径时都会选择绝对路径
(3)使用__dirname获取当前文件所在的绝对路径
处理请求地址模块url
处理请求参数模块querystring
第三方模块
别人写好的,具有特定功能的,我们能直接使用哪个的模块即是第三方模块,由于第三方模块通常是由多个文件组成并且被放置在一个文件夹中,所以又名包。
第三方模块有两种存在形式
- 以js文件的形式存在,提供实现项目的具体功能的API接口。
- 以命令行工具形式存在,辅助项目开发
获取第三方模块
npmjs.com:第三方模块存储和分发仓库
- 下载:npm install 模块名称
- 卸载:npm uninstall package 模块名称
全局安装和本地安装
- 命令行工具:全局安装
- 库文件:本地安装
第三方模块nodemon
nodemon是一个命令行工具,用以辅助项目开发。
在node.js中,每次修改文件都要在命令行工具中重新执行该文件,非常繁琐。
使用步骤
- 使用npm install nodemon -g 下载它进行全局安装
- 在命令行工具中使用nodemon命令替代node命令执行文件
第三方模块nrm
nrm(npm registry manager):npm 下载地址切换工具
npm默认的下载地址在国外,国内下载速度慢
使用步骤
- 使用npm install nrm -g 进行全局安装
- 查询可用下载地址列表 nrm ls
- 切换npm 下载地址nrm use 下载地址名称
第三方模块gulp
基于node平台开发的前端构建工具
将机械化操作编写成任务,想要执行机械化操作时执行一个命令,任务就能自动执行了
gulp能做什么
- 项目上线,HTML,CSS,JS文件压缩合并
- 语法转换(es6,less…)
- 公共文件抽离
- 修改文件浏览器自动刷新
gulp使用步骤
- 使用npm install gulp下载gulp库文件
- 在项目根目录下建立gulpfile.js文件
- 重构项目的文件夹src目录防止源代码文件dist目录放置构建后文件
- 在gulpfile.js文件中编写任务
- 在命令行工具中执行gulp任务
gulp中提供的方法
- gulp.src():获取任务要处理得当文件
- gulp.dest():输出文件
- gulp.task():建立gulp任务
- gulp.watch():监控文件的变化
gulp插件
- gulp-htmlmin:html文件压缩
- gulp-csso:压缩css
- gulp-babel:Javascript语法转化
- gulp-less:less语法转化
- gulp-uglify:压缩混淆Javascript
- gulp-file-include:公共文件包含
- browsersync:浏览器实时同步
插件使用
- gulp-htmlmin
//下载插件
npm install gulp-htmlmin
//使用插件
//首先引用插件
const htmlmin = require("gulp-htmlmin");
//调用插件
gulp.task("htmlminfy",()=>{
return gulp.src("src/html/*.html")
.pipe(htmlmin({
collapseWhitespace:true}))
.pipe(gulp.dest("dist/html"));
})
- gulp-file-include
//下载插件
npm install gulp-file-include
//使用插件
//首先引用插件
const fileinclude = require("gulp-file-include");
gulp.task("fileinclude",()=>{
gulp.src("src/*.html")
.pipe(fileinclude({
prefix:'@@',
basepath:"@file"
}))
.pipe(gulp.dest("dist/common"));
})
- gulp-csso
//下载插件
npm install gulp-csso
//引用插件
const cssmin = require("gulp-csso");
//创建任务
gulp.task("cssmin",()=>{
gulp.src("src/css/*.css")
.pipe(cssmin())
.pipe(gulp.dest("dist/css"));
})
4.gulp-babel
//下载插件
npm install gulp-babel babel-core bable-preset-env
//引用插件
const babel = require("gulp-babel")
gulp.task("js",()=>{
console.log(