【NPM】常用包记录

来源:互联网 发布:广联达计价软件培训 编辑:程序博客网 时间:2024/05/21 20:46

前言

阅览很多的开源项目会见到很多的包,增长不少见识。这些见识沉淀下来,才会成为实力。

类目

1. VSCode语法提示

1.1 types

例如:
@types/node 就提供了 node 的常用的语法提示。

npm install @types/node --save-dev

然后,在 VSCode 中,引用 node 的组件,就可以获得智能提示:

var http = require( 'http' );http.  // 按下这个“.”的时候, VSCode 就会给你语法提示

依次类推,如果需要 cheerio 这个 npm 包的智能提示,可以:

npm install @types/cheerio

可以在 淘宝的 NPM 镜像 中搜索包名,看看是否有以 @types 开头的包,如果有,就放心的用吧!

2. 构建工具

构建工具的作用,是对代码进行自动化的语法检查、编译、压缩、测试、打包。常见的有 Gulp , Grunt 。

2.1. grunt

这是一个历史悠久的构建工具,比 Gulp 要早。官方对它的定义是“ The JavaScript Task Runner ”,即“一个 JavaScript 任务执行器”。因为我们常用它来做打包,和自动化构建的工作,所以我们也说它是一个自动化的构建工具。

CNPM : https://npm.taobao.org/package/grunt

cnpm install grunt --save-dev

2.1.1 grunt-cli

这个是grunt的命令行接口,使用 grunt 命令前,需要安装本包。

CNPM : https://npm.taobao.org/package/grunt-cli

cnpm install grunt-cli --save-dev

2.1.2 grunt-babel

应用于 grunt 的 babel ,和babel同源。

CNPM : https://npm.taobao.org/package/grunt-babel

cnpm install grunt-babel --save-dev

2.1.3 grunt-compare-size

对比两个文件,最后一个是会被压缩的文件

运行效果如下,会在 console 打印出信息:

   raw     gz Sizes                                                            267860  79363 dist/jquery.js                                                    86824  30057 dist/jquery.min.js                                                  raw     gz Compared to last run                                                +32    +21 dist/jquery.js                                                      +18     +7 dist/jquery.min.js                                               

2.1.4 grunt-contrib-uglify

本包的功能是将 JavaScript 代码压缩,删掉注释,替换掉变量名,最终剩下非常紧凑精小的 js 文件。

CNPM : https://npm.taobao.org/package/grunt-contrib-uglify

cnpm install grunt-contrib-uglify --save-dev

2.1.5 grunt-contrib-watch

Run predefined tasks whenever watched file patterns are added, changed or deleted
当符合要求的文件被创建、修改或删除后,执行预定的任务

CNPM : https://npm.taobao.org/package/grunt-contrib-watch

cnpm install grunt-contrib-watch --save-dev

2.1.6 grunt-eslint

Validate files with ESLint
使用 ESLint 对文件代码风格进行检查

CNPM : https://npm.taobao.org/package/grunt-eslint

cnpm install grunt-eslint --save-dev

2.1.7 grunt-git-authors

Generate a list of authors from the git history.
从 Git 历史数据生成贡献者列表

CNPM : https://npm.taobao.org/package/grunt-git-authors

cnpm install grunt-git-authors --save-dev

2.1.8 grunt-jsonlint

Validate JSON files from grunt.
执行 grunt 校验 JSON 文件。

CNPM : https://npm.taobao.org/package/grunt-jsonlint

cnpm install grunt-jsonlint --save-dev

2.1.9 grunt-newer

Run Grunt tasks with only those source files modified since the last successful run.
只有在文件相比上次变化的情况下,才会执行相应的 grunt 任务

CNPM : https://npm.taobao.org/package/grunt-newer

cnpm install grunt-newer --save-dev

2.1.10 load-grunt-tasks

Load multiple grunt tasks using globbing patterns
一行命令加载多个 grunt 任务

CNPM : https://npm.taobao.org/package/load-grunt-tasks

cnpm install load-grunt-tasks --save-dev

3. 编译工具(TypeScript,ES6,ES5)

编译工具将一种代码编译成另一种代码,根据目的的不同有同类别降级编译和跨类别编译。

其中,TypeScript编译成ES6、ES5就属于跨类别编译,是从TypeScript语言编译成了JavaScript语言(的不同版本)

而ES6 到 ES5 就是降级编译,将新标准的代码,编译成旧标准的代码。

3.1 babel

一个将 ES6 编译成 ES5 的工具
Turn ES6 code into readable vanilla ES5 with source maps

Github : https://github.com/babel/babel
CNPM : https://npm.taobao.org/package/babel

cnpm install babel --save-dev

3.1.1 babel-preset-es2015

支持将 ES6 的 JavaScript 转换为 ES5 的 JavaScript 的插件

CNPM : https://npm.taobao.org/package/babel-preset-es2015

cnpm install babel-preset-es2015 --save-dev

4. 测试工具

测试工具一般用来检测代码中是否有问题,并给出提示。问题包括语法问题,代码风格问题等

4.1 eslint

(待续)

4.1.1 eslint-config-*

这个命名规范的包,表示各种 eslint 代码风格规则。比如 eslint-config-jquery 表示这个插件包是 jquery 团队的代码风格规范。

4.2 qunitjs

An easy-to-use JavaScript Unit Testing framework.
一个易用的JavaScript单元测试框架

CNPM : https://npm.taobao.org/package/qunitjs

cnpm install qunitjs --save-dev

4.2.1 qunit-assert-step

A QUnit plugin for asserting the proper sequence in which the code should execute.
用来检查程序代码的执行顺序是否正确。

CNPM : https://npm.taobao.org/package/qunit-assert-step

cnpm install qunit-assert-step --save-dev

5. 其它

有一些其它的包,不好分类,先放着这里等待以后整理

5.1 cross-spawn

它解决了 nodejs 在跨平台执行命令方面存在的问题,例如在 Windows 下面不能执行 dir , del 命令等问题

CNPM : https://npm.taobao.org/package/cross-spawn

cnpm install cross-spawn --save-dev

5.2 jsdom

A JavaScript implementation of the DOM and HTML standards
使用JavaScript对DOM和HTML的标准进行了实现

这个和 phantomjs 的区别在于, phantomjs 使用了 webkit 内核去载入页面,而 jsdom 是自己解析 html

比较可以!

CNPM : https://npm.taobao.org/package/jsdom

cnpm install jsdom --save-dev

现在用node写网页爬虫用phantomjs和jsdom各有什么利弊

5.3 phantomjs

Headless WebKit with JS API
提供了JS开发接口的无UIWebKit浏览器

这个除了可以用来进行爬虫抓取,网页截图外,还可以做自动化网页测试。比jsdom还要强大,但是更慢一些。

CNPM : https://npm.taobao.org/package/phantomjs
参考教材 : http://javascript.ruanyifeng.com/tool/phantomjs.html

cnpm install phantomjs --save-dev

5.4 phantomjs-prebuilt

An NPM installer for PhantomJS, headless webkit with JS API.

和前面的一样,是前面的新版本。

5.5 gzip-js

GZIP in pure JavaScript (works in the browser)
GZIP 是纯浏览器端进行 GZIP 压缩,建议不要用于服务端。

CNPM : https://npm.taobao.org/package/gzip-js

cnpm install gzip-js --save-dev

5.6 native-promise-only

Native Promise Only: A polyfill for native ES6 Promises only, nothing else.
在浏览器上支持 Promise 特性

CNPM : https://npm.taobao.org/package/native-promise-only

cnpm install native-promise-only --save-dev

5.7 q

A library for promises (CommonJS/Promises/A,B,D)
支持Promise

CNPM : https://npm.taobao.org/package/q

cnpm install q --save-dev

5.8 requirejs

Node adapter for RequireJS, for loading AMD modules. Includes RequireJS optimizer
requirejs适配器节点,加载AMD的模块。包括requirejs优化

CNPM : https://npm.taobao.org/package/requirejs

cnpm install requirejs --save-dev

5.9 sizzle

A pure-JavaScript, bottom-up CSS selector engine designed to be easily dropped in to a host library.
一个纯JavaScript的完善的CSS选择器引擎。它是从jQuery中分出来的独立项目。曾经是jQuery内置的部分,现在被独立了出来。

可以基于这个构建自己的简单的库。

CNPM : https://npm.taobao.org/package/sizzle

cnpm install sizzle --save-dev

5.10 strip-json-comments

Strip comments from JSON. Lets you use comments in your JSON files!
自动去除JSON文件中的注释信息,让我们可以在JSON中使用注释。

CNPM : https://npm.taobao.org/package/strip-json-comments

cnpm install strip-json-comments --save-dev
1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机登陆不上路由器管理界面怎么办 新路由器设置密码后不能上网怎么办 更换网络后无线路由器不能用怎么办 手机登录不了路由器登录业面怎么办 海康威视通道用户被锁定怎么办 无线适配器或访问点有问题怎么办 客户买鞋子说价格贵该怎么办 小米5s刷成真砖后怎么办 手机电源键坏了开不了机怎么办 手机开关键坏了开不了机怎么办 vivo手机解屏密码忘了怎么办 小米max关机后开关键坏了怎么办 联想手机刷机失败无限重启怎么办 红米2a显示白屏怎么办 小米6手机一直处于开机状态怎么办 怎么在手机上看wifi密码怎么办 怎么查自己的宽带密码忘记了怎么办 怎么查自己宽带账号密码忘了怎么办 电脑重置路由器密码连不上网怎么办 e盘和f盘没有了怎么办 复制文件过程中自己卡住了怎么办 电脑卡住了怎么办 鼠标也点不动 善领wifi连上网不能用怎么办 苹果手机软件更新后网速太慢怎么办 装了固态硬盘开机还慢怎么办 华为荣耀8青春版玩游戏卡怎么办 光猫自带wifi网络很差怎么办 侠盗猎车手自由城之章卡退怎么办? 夏天带头盔晃眼睛太厉害怎么办 别人把钱误转我卡上我怎么办? 家里预留的的网线太短怎么办 电信路由器坏了网线接口断了怎么办 数据线充手机的接头处断了怎么办 新买的小米手环充不进去电怎么办 绝地求生手游被队友故意炸死怎么办 一加3t屏幕开了怎么办? 孕妇吃了8个杏怎么办啊 洗碗盆落水器垫子密封不好怎么办? 手剥橙子剥的特别疼怎么办? 经常带对讲机的耳麦耳朵痛怎么办 公安检查遇到穿便装的军人怎么办