npm init -y //生成
npm install gulp -g //全局安装
npm install gulp --save-dev //本地安装并加入package.json
npm i -D gulp-babel
npm i -D babel-preset-env
npm install babel-core babel-preset-es2015 gulp-babel --save-dev //用于解析es6转换为es5
npm install browser-sync --save-dev //服务器同步浏览
npm install gulp-autoprefixer --save-dev //根据设置浏览器版本自动处理浏览器前缀
npm install gulp-cache --save-dev //图片快取,只有更改过得图片会进行压缩
npm install gulp-clean --save-dev //清空文件夹
npm install gulp-cssnano --save-dev //压缩CSS代码
npm install gulp-htmlmin --save-dev //压缩html
npm install gulp-if --save-dev //用于判断
npm install gulp-imagemin --save-dev //图片压缩-很慢
npm install gulp-load-plugins --save-dev //自动加载(超级有用 省去一大堆代码)
npm install gulp-plumber --save-dev //管道工 不会让错误爆出来 继续执行
npm install gulp-sass --save-dev //预编译Sass
npm install gulp-size --save-dev //统计管道里面内容的大小的,上面是用它来显示出压缩前后的大小用来对比用
npm install gulp-sourcemaps --save-dev //当压缩的JS出错,能根据这个找到未压缩代码的位置 不会一片混乱代码
npm install gulp-uglify --save-dev //JS压缩
npm install uglifyjs-webpack-plugin --save-dev //压缩报错指引
npm install gulp-useref --save-dev // 将html引用顺序的CSS JS 变成一个文件 例如:<!-- build:js scripts/main.js --> <script src="1.js"></script><script src="2.js"></script><!--endbuild--> 最后变成<script src="main.js"></script>
npm install gulp-rev-append --save-dev //html引用添加版本号
npm install main-bower-files --save-dev //找到bower.json里配置的 overrides 下配置的main下的路径
npm install wiredep --save-dev //在.html文件会把默认bower.json的配置自动注入到下面标签中去 <!-- bower:js --> <!-- endbower --> <!-- bower:css--> <!-- endbower -->
或者直接(注:我一大堆运行会报错,于是像上边一个一个运行):
npm install babel-core babel-preset-es2015 browser-sync gulp gulp-autoprefixer gulp-babel gulp-cache gulp-clean gulp-cssnano gulp-htmlmin gulp-if gulp-imagemin gulp-load-plugins gulp-plumber gulp-sass gulp-size gulp-sourcemaps gulp-uglify gulp-useref gulp-rev-append main-bower-files wiredep --save-dev
bower init //新建bower.json
bower install jquery bootstrap-sass --save-dev //安装jquery bootstrap
- javascript封装
- jquery封装
- layui封装
- 基本知识
- 匿名函数
- 严格模式
- 代码规范工具
- 使用JSHint和JSLint
- 构建
- Grunt
- gulp
- Gulp使用入门操作十一步压缩JS
- 注意
- 初级
- 中级
- 高级
- 将es6代码转成es5
- 我常用的
- 报错处理
- 《编写可维护的Javascript》
- 第1章:基本的格式化
- 缩进层级
- 语句结尾
- 行的长度
- 换行
- 空行
- 命名
- 变量和函数
- 常量
- 构造函数
- 直接量
- 第2章:注释
- 单行注释
- 多行注释
- 使用注释
- 文档注释
- 第3章:语句和表达式
- 花括号的对齐方式
- 块语句间隔
- switch语句
- 第4章:变量函数运算符
- 变量声明
- 函数声明
- 函数调用间隔
- 立即调用函数
- 严格的模式
- 相等
- 第5章:UI的松耦合
- 什么是松耦合
- 将javascript从css中抽离
- 将css从javascript中抽离
- 将javascript从html中抽离
- 将html从javascript中抽离
- 第6章:避免使用全局变量
- 全局变量带来的问题
- 意外的全局变量
- 单全局变量方式
- 零全局变量
- 第7章:事件处理
- 典型用法
- 规则1:隔离应用逻辑
- 规则2:不要分发事件对象
- 第8章:避免“空比较”
- 检测原始值
- 检测应用值
- 检测属性
- 第9章:将配置数据从代码中分离出来
- 什么是配置数据
- 抽离配置数据
- 保存配置数据
- 第10章:抛出自定义错误
- 错误的本质
- 在javascript抛出错误
- 抛出错误的好处
- 何时抛出错误
- try-catch语句
- 错误类型
- 第11章:不是你的对象不要动
- 什么是你的
- 原则
- 更好的途径
- 关于Polyfill的注释
- 阻止修改
- 第12章:浏览器嗅探
- User-Agent嗅探
- 特性检测
- 避免特性推断
- 避免浏览器推断
- 应当如何取舍
- 第13章:目录和文件结构
- 最佳实践
- 基本结构
- 第14章:Ant
- 安装
- 配置文件
- 执行构建
- 目标操作的依赖
- 属性
- Buildr项目
- 第15章:校验
- 查找文件
- 任务
- 增强的目标操作
- 其他方面的改进
- Buidr任务
- 第16章:文件的合并与加工
- 任务1
- 行尾结束符
- 文件头和文件尾
- 加工文件
- 第17章:文件的精简与压缩
- 文件精简
- 压缩
- 第18章:文档化
- JSDoc Toolkit
- YUI DOC
- 第19章:自动化测试
- YUI Test Selenium引擎
- Yeti
- PhantomJS
- JsTestDriver
- 第20章:组装到一起
- Javascript编码风格指南