第四十八篇:webpack的基本使用(二) --安装和配置webpack-dev-server插件
好家伙,
1.webpack中的默认约定
默认的打包入口文件为src -->index.js
默认的输出文件路径为dist -->main.js
既然有默认,那么就说明肯定能改
2.entry和output
在webpack.config.js配置文件中,
通过entry节点指定打包的入口。
通过output节点指定打包的出口。
示例代码如下:
const path = require('path')// 导入 node.js 中专门操作路径的模块,这里的path是node的一个模块 module.exports ={
entry: path.join(_dirname, './src/index.js'),// 打包入口文件的路径 output:{ path: path.join(_dirname, './dist'), // 输出文件的存放路径,这里的path是一个属性 filename: 'bundle.js'//输出文件的名称
}
}
3.webpack 插件安装
现在问题来了
如果我要改index.js中的内容(就算只是改一两行代码),也必须改完内容后保存,再打包,
多次更改下来,显得整个过程显得非常繁琐
有没有什么好的解决办法?
使用webpack插件
3.1.安装方法:
终端跑一下啦:
npm install webpack-dev-server@3.11.2 -D
3.2.webpack 插件的作用
通过安装和配置第三方的插件,可以拓展webpack的能力,从而让webpack用起来更方便。
3.3.最常用的webpack插件有如下两个:
① webpack-dev-servert
类似于node.js 阶段用到的 nodemon 工具
每当修改了源代码,webpack会自动进行项目的打包和构建
② html-webpack-plugin
webpack中的HTML插件(类似于一个模板引擎插件)
可以通过此插件自定制 index.html页面的内容
4.配置webpack-dev-server
① 修改 package.json->scripts 中的dev 命令,如下:
"scripts": {
"dev": "webpack serve", // script 节点下的脚本,可以通过 npm run 执行
}
②再次运行npm run dev 命令,重新进行项目的打包
③在浏览器中访问 http://localhost:8080地址,查看自动打包效果
(出现了!!出现了!!是"http://localhost:8080"!!!)
注意:webpack-dev-server 会启动一个实时打包的 http 服务器
(像之前写vue项目一样,ctrl+s一次他就更新一次,终端处于监视的状态,监视代码的更新)
于是就解决每次修改代码都需要重新打包的问题了
That's all
溜了溜了
"黑马程序员"NB
第四十八篇:webpack的基本使用(二) --安装和配置webpack-dev-server插件的更多相关文章
- 第四十七篇:webpack的基本使用(一) --安装和配置webpack
好家伙, 1.webpack的基本使用 写个例子:实现一个奇偶行变色列表 步骤如下: ① 新建项目空白目录,并运行 npm init-y命令,初始化包管理配置文件 package.json② 新建sr ...
- C++第四十八篇 -- 字符串分离方法
举例:Test_Bluetooth.exe -param_split Test_Bluetooth.cpp #include "pch.h" #include <iostre ...
- Python开发【第十八篇】:MySQL(二)
视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT * FROM ( SEL ...
- hihoCoder hiho一下 第四十八周 题目1 : 拓扑排序·二
题意: 给定一个拓扑图,其中部分结点含有1个病毒,每个结点只要收到病毒就会立即往出边所能到达的点传播,病毒数可叠加,求所有结点的病毒数总和. 思路: 根据拓扑的特点,每个入度为0的点肯定不会再被传播病 ...
- 第十八篇 Linux环境下常用软件安装和使用指南
提醒:如果之后要安装virtualenvwrapper的话,可以直接跳到安装virtualenvwrapper的方法,而不需要先安装好virtualenv 安装virtualenv和生 ...
- 《手把手教你》系列技巧篇(四十八)-java+ selenium自动化测试-判断元素是否可操作(详解教程)
1.简介 webdriver有三种判断元素状态的方法,分别是isEnabled,isSelected 和 isDisplayed,其中isSelected在前面的内容中已经简单的介绍了,isSelec ...
- Python之路【第十八篇】:Web框架们
Python之路[第十八篇]:Web框架们 Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...
- NeHe OpenGL教程 第四十八课:轨迹球
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- SQL注入之Sqli-labs系列第四十七关,第四十八关,第四十九关(ORDER BY注入)
0x1 源码区别点 将id变为字符型:$sql = "SELECT * FROM users ORDER BY '$id'"; 0x2实例测试 (1)and rand相结合的方式 ...
随机推荐
- Citus 11 for Postgres 完全开源,可从任何节点查询(Citus 官方博客)
Citus 11.0 来了! Citus 是一个 PostgreSQL 扩展,它为 PostgreSQL 添加了分布式数据库的超能力. 使用 Citus,您可以创建跨 PostgreSQL 节点集群透 ...
- BUUCTF-RAR
rar 看提示知道爆破压缩包的题,纯数字4位数拿出ARCHPR爆破即可.
- 手把手教学~基于element封装tree树状下拉框
在日常项目开发中,树状下拉框的需求还是比较常见的,但是element并没有这种组件以供使用.在这里,小编就基于element如何封装一个树状下拉框做个详细的介绍. 通过这篇文章,你可以了解学习到一个树 ...
- 给妹子讲python-S01E01好用的列表
1.python中的容器数据类型概述2.列表类型的异构性.有序性和本地可变性三大优势2.列表的基本操作(增.删.改.分片索引)3.列表的分片赋值与本地排序 [妹子说]今天开始学python啦,不过我们 ...
- CesiumJS 2022^ 源码解读[6] - 三维模型(ModelExperimental)新架构
目录 1. ModelExperimental 的缓存机制 1.1. 缓存池 ResourceCache 1.2. 缓存对象的键设计 ResourceCacheKey 2. 三维模型的加载与解析 2. ...
- NC14326 Rails
NC14326 Rails 题目 题目描述 There is a famous railway station in PopPush City. Country there is incredibly ...
- Collection子接口:List接口
1. 存储的数据特点:存储序的.可重复的数据. 2. 常用方法:(记住)增:add(Object obj)删:remove(int index) / remove(Object obj)改:set(i ...
- 循环结构-for循环和while循环
循环语句1--for for循环语句格式: for(初始化表达式①; 布尔表达式②; 步进表达式④){ 循环体③ } 执行流程 执行顺序:①②③④>②③④>②③④-②不满足为止. ①负责完 ...
- git的基本操作命令和码云的注册使用
Git文件操作文件的四种状态版本控制就是对文件的版本控制,要对文件进行修改.提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上. Untracke ...
- SpringBoot开发 - 什么是热部署和热加载?devtool的原理是什么?
在SpringBoot开发调试中,如果我每行代码的修改都需要重启启动再调试,可能比较费时间:SpringBoot团队针对此问题提供了spring-boot-devtools(简称devtools)插件 ...