node
- nvm:在一台电脑上管理多个node版本
- async:异步函数的组件(用于低版本)
- bluebird:提供对promise的支持
- node-sass:sass编译器
- os:node核心模块的扩充
- cross-spawn:跨平台spawn(执行脚本)
- glob:glob 最早是出现在类Unix系统的命令行中, 是用来匹配文件路径的。
express
- express:后端开发框架
- express-mockjs:后端数据发送模拟
vue
- element-ui
- vue-clipboard2:剪切板功能,点击复制
- vue-echarts:图表
- vue-grid-layout、vuedraggable:拖拽布局
- vue-i18n
- vue-quill-editor:富文本编辑器
- vue-router
- vue-template-compiler:独立的template编译为render的插件
- vue-upload-component:图片上传组件
- vuex
- vux:Vue 移动端 UI 组件库
- vux-loader:vux组件的预处理器
- @kazupon/vue-i18n-loader:添加<i18n>使的可以在组件内管理多语言代码
webpack
- HappyPack:webpack本身是单线程的,该库使得它执行的任务分配到多个线程中执行
- progress-bar-webpack-plugin:显示编译进度条的插件
- webpack-parallel-uglify-plugin:ParallelUglifyPlugin插件则会开启多个子进程,把对多个文件压缩的工作分别给多个子进程去完成,但是每个子进程还是通过UglifyJS去压缩代码。
- autodll-webpack-plugin:能把第三方依赖的文件能提前进行预编译打包到一个文件里面去。提高了构建速度。因为很多第三方插件我们并不需要改动它,所以我们想这些第三方库在我们每次编译的时候不要再次构建它就好。
- autoprefixer:一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里,使用Can I Use(caniuse网站)的数据来决定哪些前缀是需要的。
- babel-loader:babel处理器
- chai:具有BDD/TDD风格的验证库(测试工具?)
- chalk:控制台打印,颜色控制
- connect-history-api-fallback:当请求返回404时,请求定位到你指定的索引文件(默认为/index.html)。(单页面总返回index页面问题)
- copy-webpack-plugin:复制静态文件插件
- cross-env:跨平台设置环境变量
- css-loader:加载.css文件
- cssnano:css压缩和优化
- eslint-loader
- extract-text-webpack-plugin:css抽离为独立文件,防止将样式打包在js中引起页面样式加载错乱的现象
- file-loader:文件处理,生成含有MD5的文件名
- Flow:变量静态类型检查工具
- flow-bin:跨平台flow?
- friendly-errors-webpack-plugin:管理打包信息
- html-webpack-plugin:处理html,修改上面的路径(添加md5等),根据模板和入口文件生成单文件html等
- http-proxy-middleware:用于把请求代理转发到其他服务器的中间件。
- Karma:单元测试,面向JS功能逻辑的检验。karma并不是一个测试框架,也不是一个断言库。它可以运行HTTP Server,运行HTML文件在你喜欢的测试框架上。不仅仅只是运行测试,还可以计算测试的覆盖率。
- NightWatch:e2e测试,面对业务逻辑的检验
eslint
- eslint:
- eslint-config-standard:Standard标准,它是一些前端工程师自定的标准。
- eslint-friendly-formatter:让eslint的错误信息出现在终端上
- eslint-plugin-flowtype: flow 的 eslint 插件,让eslint识别flow
- eslint-plugin-html:ESLint 默认只支持 js 文件的脚本检测,如果我们需要支持类 html 文件(如 vue)的内联脚本检测
- eslint-plugin-promise:promise格式的最佳实践?
- eslint-plugin-standard:Standard标准?
前端通用
- Velocity.js JS动画库
- xDate、fecha:日期处理库
- cropperjs、image-cropper:裁剪图片工具
- html2canvas:将html通过canvas生成图片
- lodash:实用工具库,降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。
- 可以实现深拷贝
- pdfobject:前端预览pdf
- popper.js:定位引擎,可能用于拖拽等功能
- Video.js:视频播放插件
- es6-promise:promise的语法糖,rsvp.js的部分提取
- eventsource-polyfill:支持http认证,例如
http://username:password@github.com
测试
- WebDriver:WebDriver是一个开源工具,用于在许多浏览器上自动测试webapps。它提供了导航到网页,用户输入,JavaScript执行等功能。
- chromedriver:一个独立的服务,它为 Chromium 实现 WebDriver 的 JsonWireProtocol 协议。
babel
- babel-register:在低版本node中支持es6
- 要解析和编译 async 方法, 你至少应该有 transform-async-to-generator 或 transform-async-to-module-method 插件
- babel-core:babel
- babel-eslint:对所有有效的babel代码进行lint处理。
- babel-helper-vue-jsx-merge-props:?
- babel-plugin-istanbul:在babel编译之前使用其他工具处理ES6代码,一般用于单元测试的覆盖率统计
- babel-plugin-jsx-v-model:JSX语法糖,支持使用v-model绑定数据
- babel-plugin-syntax-dynamic-import:import()实现按需加载
- babel-plugin-syntax-jsx:?
- babel-plugin-transform-flow-strip-types:移除flow标记的插件
- babel-plugin-transform-runtime:在转换 ES2015 语法为 ECMAScript 5 的语法时,babel 会需要一些辅助函数,transform-runtime 来将这些辅助函数“搬”到一个单独的模块 babel-runtime 中,这样做能减小项目文件的大小。
- babel-plugin-transform-vue-jsx:vue中编译JSX
- babel-polyfill:支持ES6语法
- babel-preset-env:基于你的实际浏览器及运行环境,自动的确定babel插件及polyfills,转译ES2015及此版本以上的语言
- babel-preset-es2015
- babel-preset-stage-2
- babel-register:nodejs使用es6
CSS
- animate.css动画库