Webpack学习笔记(6)

首先搭建一个基本的webpack环境:

执行npm init -y,创建pack.json,保存安装包的一些信息

执行npm install webpack webpack-cli webpack-dev-server html-webpack-plugin -D,出现node_modules和package-lock.json。

1.source-Map(dev-tool)

  • 开发环境建议使用cheap-module-source-map;
  • 生产环境下不建议使用source-map;

2.devServer

在开发环境下启动一个web服务,模拟一个用户从浏览器访问我们web服务器的样子,可以读取我们打包的产物,webpack内置了这个功能。

3.模块热替换与热加载(提高调试效率)

模块热替换:在应用程序运行过程中,替换、添加或删除模块,无需重新加载整个页面。

模块热加载:在修改一个模块时,webpack会帮助我们自动刷新浏览器。

js文件需要手工打开热替换:

像vue、react会默认增加,不需要手动增加。

4.Eslint

eslint是用来扫描我们所写的代码是否符合规范的工具,往往项目是多人协作的,期望使用统一的代码规范,否则每个人的代码规范都不一样,可能会产生错误。

npm init -y创建一个package.json

npm install eslint -D

npx eslint --init配置后生成.eslintrc.json

  • env:脚本的运行环境;
  • extends:配置了airbnb-base扩展,帮助我们检查代码格式;
  • parserOptions:ecmaVersion版本12
  • rules:配置一写规则;
  • globals:执行脚本期间,访问额外的全局变量,不在这个环境中定义的变量。

安装扩展eslint可以检查哪个位置不满足eslint。

5.git-hooks与husky7

为了保证代码符合规范,我们往往想要在提交到git仓库时再去校验,使用husky来实现。

创建一个文件.gitgnore,在这个文件下定义在提交git时不需要提交的,比如node_modules

**/node_modules

git status当前git的状态

cd .git

ls -la

cd hooks

ls -la

.sample文件都是git的hook,hook就是在执行git之前或之后需要运行的一些命令

若我们想要在提交git之前运行一下eslint校验代码,可以在pre-commit.sample这个hook钩子中配置:

cat pre-commit.sample

重新创建:touch pre-commit

ls -la

vim pre-commit,按i插入,写入npx eslint ./src按esc+:wq退出

在运行git时会进行校验。

若把配置放在.git中每个人都不一样,所以需要把配置放在根目录下才有效。

git config core.hooksPath .mygithooks

chmod +x .mygithooks/pre-commit,增加写的权限。

使用husky

安装husky:npm install husky -D

npx husky install生成.husky文件夹

package.json配脚本:

在.husky文件下新建一个pre-commit写一句npx eslint ./src

增加权限:chmod +x .husky/pre-commit

git add. git commit -m '备注' 会实现代码检查

相关推荐
养海绵宝宝的小蜗38 分钟前
OSPF笔记整理
网络·笔记·智能路由器
慕y2741 小时前
Java学习第九十三部分——RestTemplate
java·开发语言·学习
没见过西瓜嘛2 小时前
数据仓库、数据湖与湖仓一体技术笔记
数据仓库·笔记
Mr Sorry2 小时前
TIME WEAVER: A Conditional Time Series Generation Model论文阅读笔记
论文阅读·笔记
寄思~2 小时前
学习笔记:封装和单继承
开发语言·笔记·python·学习
典孝赢麻崩乐急2 小时前
Redis学习-----Redis的基本数据类型
数据库·redis·学习
I'm a winner3 小时前
LaTeX 复杂图形绘制教程:从基础到进阶
经验分享·笔记·科技
受之以蒙3 小时前
Rust & WebAssembly:探索js-sys的奇妙世界
笔记·rust·webassembly
Yueeyuee_3 小时前
【C#学习Day16笔记】XML文件、 事件Event 、Json数据
笔记·学习·c#