node.js的第三方模块 nodemon、nrm、Gulp、Gulp插件
什么是第三方模块
别人写好的、具有特定功能的、我们能直接使用的模块即第三方模块,由于第三方模块通常都是由多个文件组成并且被放置在一个文件夹中,所以又名包。
第三方模块有两种存在形式:
- 以js文件的形式存在,提供实现项目具体功能的API接口。
- 以命令行工具形式存在,辅助项目开发。
获取第三方模块
https://www.npmjs.com/:第三方模块的存储和分发仓库。
npm(node package manager)
: node 的第三方模块管理工具
- 下载:
npm install 模块名称
- 卸载:
npm unintall 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中提供的方法
gulp.src()
:获取任务要处理的文件
gulp.dest()
:输出文件
gulp.task()
:建立gulp任务
gulp.watch()
:监控文件的变化
const gulp = require('gulp');
// 使用 gulp.task() 方法建立任务
gulp.task ('first', () => {// 获取要处理的文件
gulp.src('./src/css/base.css')
// 将处理后的文件输出到dist目录
.pipe(gulp.dest('./dist/css'));
});
Gulp插件
gulp-htmlmin
:html文件压缩
gulp-csso
:压缩css
gulp-babel
:JavaScript语法转化
gulp-less
:less语法转化
gulp-uglify
:压缩混淆JavaScript
gulp-file-include
:公共文件包含
browsersync
:浏览器实时同步
对于gulp 的插件,要学会查文档使用。
使用流程
- 下载:
npm install --save-dev 插件名
- 引用:
const xxx = require('xxx');
- 调用:
gulp.task('cssmin', () => {// 需要处理的文件gulp.src(['./src/css/*.less', './src/css/*.css']).pipe(xxx()) // 处理过程.pipe(gulp.dest('dist/css')) // 输出路径
});
- 执行(命令行):
gulp 任务名
gulp.task('first', () => {console.log('我们人生中的第一个gulp任务执行了');// 1.使用 gulp.src 获取要处理的文件gulp.src('./src/css/base.css').pipe(gulp.dest('dist/css'));});// html任务// 1.html文件中代码的压缩操作// 2.抽取html文件中的公共代码gulp.task('htmlmin', () => {gulp.src('./src/*.html')//压缩html文件中的代码.pipe(htmlmin({collapsewhitespace: true})).pipe(gulp.dest('dist'));
});
黑窗口执行命令:gulp 任务名
,例如:gulp htmlmin
gulp-file-include:公共html文件中的代码压缩
下载:
npm install --save-dev gulp-file-include
引用:
const fileinclude = require('gulp-file-include');
// html任务
// 1.html文件中代码的压缩操作
//2.抽取html文件中的公共代码
gulp.task( ' htmlmin', () =>{gulp.src('./src/*.html').pipe(fileinclude())//压缩 html 文件中的代码.pipe(htmlmin({ collapseWhitespace: true})).pipe(gulp.dest('dist'));
});
官方文档 gulp-file-include
详细使用方法:https://www.npmjs.com/package/gulp-file-include
gulp-less:less转css
// css任务
// 1.less语法转换
// 2.css代码压缩
gulp.task('cssmin', () => {gulp.src('./src/css/*.less')
});
lnstallation
npm install gulp-less
Basic Usage
var less =require('gulp-les');
var path = require('path');
gulp.task('1ess', function() {return gulp.src('./1ess/**/*.1ess').pipe(less({paths: [ path.join(__dirname, '1ess', 'includes') ]}))
})
使用举例:
gulp.task('htmlmin', => {gulp.src('./src/*.html').pipe(fileinclude())// 压缩html文件中的代码.pipe(htmlmin({ collapseWhitespace: true })).pipe(gulp.dest( 'dist' ));
});
// css任务
// 1.less语法转换
// 2.css代码压缩
gulp.task('cssmin', () => {gulp.src(['./src/css/*.less', './src/css/*.css']).pipe(less()).pipe(gulp.dest('dist/css'))
});
官方文档详细使用方法:https://www.npmjs.com/package/gulp-less
gulp-csso:css代码压缩
使用举例:
// css 任务
// 1.less 语法转换
// 2.css 代码压缩
gulp.task('cssmin', () => {// 选择css目录下的所有1ess文件以及css文件gulp.src(['./src/css/*.less', './src/css/*.css'])// 将 less 语法转换为 css 语法.pipe(less())// 将css代码进行压缩.pipe(csso())// 将处理的结果进行输出.pipe(gulp.dest('dist/css'))
});
官方文档详细使用地址:https://www.npmjs.com/package/gulp-csso
使用大致流程:
node.js的第三方模块 nodemon、nrm、Gulp、Gulp插件相关推荐
- 基于node.js的第三方模块(itheima-tools-djh)
此模块是基于node.js开发,主要功能为格式化时间,转义.还原 HTML 字符串的函数. npm地址:itheima-tools-djh - npm 模块的主要文件如下: src文件夹中包含两个主要 ...
- 第三方模块——nodemon是一个命令行工具,用以辅助项目开发、nrm ( npm registry manager ):npm下载地址切换工具
什么是第三方模块 别人写好的.具有特定功能的.我们能直接使用的模块即第三方模块,由于第三方模块通常都是由多个文件组成并且被放置在一个文件夹中,所以又名包. 第三方模块 nodemon nodemon是 ...
- Node.js(一、Node.js基础、模块加载机制、包等)
Node.js(一.Node.js基础.模块加载机制.包等) 1.Node.js基础 1.1.Node是什么 1.2.Node环境安装失败解决方法 1.2.1.Node环境搭建 1.2.2.错误代码2 ...
- Node.js学习笔记——模块加载机制及npm指令详解
文章目录 二.模块化 1.模块化的基本概念 2.Node.js 中的模块化 Node.js 中模块的分类 加载模块 Node.js 中的模块作用域 向外共享模块作用域中的成员 Node.js 中的模块 ...
- node.js 模块_如何创建Node JS可重用模块
node.js 模块 In my previous post, we have discussed about "How to export and import a Node JS Mod ...
- node.js中模块_在Node.js中需要模块:您需要知道的一切
node.js中模块 by Samer Buna 通过Samer Buna 在Node.js中需要模块:您需要知道的一切 (Requiring modules in Node.js: Everythi ...
- 浅析 Node.js 的 vm 模块以及运行不信任代码
为什么80%的码农都做不了架构师?>>> 在一些系统中,我们希望给用户提供插入自定义逻辑的能力,除了 RPC 和 REST 之外,运行客户提供的代码也是比较常用的方法,好处是可 ...
- Node.js 初识 fs 模块
fs 模块是文件操作的封装,它提供了文件的读取.写入.更名.删除.遍历目录.链接等 Unix 文件系统操作.与其他模块不同的是,fs 模块中所有的操作都提供了 同步 和 异步 两个版本,比如读取文件内 ...
- 开场 Live,分享点干货——「深入了解 Node.js 包与模块机制」
先放上 Live 地址: www.zhihu.com/lives/84274- 本次 Live 将深入剖析 Node.js 包与模块机制,包括且不限于解析 Node.js 源码.社区规范等.本人认为这 ...
最新文章
- (干货)微信小程序转发好友
- 第1条:考虑用静态工厂方法代替构造器
- sdut 1488 连通分量的个数(并查集)
- 16、17、18_使用gridspec定义多子图,条形图(Bar plots),分组条形图,堆叠条形图(Stacked bar chart),饼图(Pie plots),甜甜圈图,嵌套饼图
- 头号小游戏玩家科普指南
- [ZJOI2007] 时态同步(拓扑序)
- (34)Verilog HDL算术运算:加减乘除运算
- Unity超基础学习笔记(一)
- 分布式SQL学习总结(1)——蚂蚁金服资深总监韩鸿源:像使用集中式数据库一样使用OceanBase分布式数据库
- 印象笔记打开错误_印象笔记新增桌面便签功能
- Spark 中 map 与 flatMap 的区别
- 花了一年时间开发的铣床数控系统NCStudioPro(支持钻孔,铣削,切割等铣床加工工艺)...
- 如何在 Linux 上安装服务器程序?
- qt 设计师界面 图片_如果没有设计界面,设计师会发生什么?
- date类型被fastjson变为long类型一串数字
- adb 如何提高到最高权限
- Golang AES加密解密
- 验证p码绕过、密码找回漏洞。。
- 天猫多个商品主图、属性图和细节图分类下载
- 设置esxi主机时间