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 '备注' 会实现代码检查

相关推荐
teeeeeeemo1 小时前
Vue数据响应式原理解析
前端·javascript·vue.js·笔记·前端框架·vue
蒙奇D索大1 小时前
【11408学习记录】考研数学攻坚:行列式本质、性质与计算全突破
笔记·学习·线性代数·考研·机器学习·改行学it
moxiaoran57531 小时前
uni-app学习笔记二十四--showLoading和showModal的用法
笔记·学习·uni-app
tcoding2 小时前
《基于Apache Flink的流处理》笔记
笔记·flink·apache
DartistCode2 小时前
动手学深度学习pytorch(第一版)学习笔记汇总
pytorch·深度学习·学习
汤姆和佩琦2 小时前
LLMs基础学习(八)强化学习专题(1)
深度学习·学习·强化学习·马尔可夫决策过程
代码小将3 小时前
java中static学习笔记
java·笔记·学习
虾球xz3 小时前
CppCon 2015 学习:Reactive Stream Processing in Industrial IoT using DDS and Rx
开发语言·c++·物联网·学习
Y3174293 小时前
python Day46 学习(日志Day15复习)
python·学习·机器学习
学不会就看4 小时前
selenium学习实战【Python爬虫】
python·学习·selenium