webpack 最新版
之前说过老的版本,webpack@3.8.1 这个版本,现在我们来看看,新版本和老版本的区别
webpack 4 以上的版本
npm 全称 node package manager (node 包管理工具)
webpack 是 node 的,所以他遵循 node 语法
webpack 安装
1. 本地安装
npm i webpack webpack-cli -D
2. 全局安装
npm i webpack webpack-cli -g -D
webpack-cli , webpack 的脚手架,实现了部分功能的优化
1. 可以 0 配置(也就是说我们可以不建 webpack.config.js 文件,自带了一些功能的实现)
比如:我们可以直接使用 npx webpack 指令之后,将当前 src 目录下的 index.js 文件 打包成 在dist 目录下的 main.js 文件
但是,由于只实现了部分优化,一是功能少,二是不够灵活,所以还是需要我们来对环境的配置
2. 我们如何分辨开发环境,还是生产环境?
看文件属于什么类:工具类的一般都属于开发环境,插件类的一般都属于生产环境
3. 我们如何分辨 旧版本 和 新版本的 webpack
通过 npx 指令 npx webpack 代表新版本的 webpack webpack 代表旧版本的 webpack
4. 自己手动的配置 webpack.config.js 文件
var path=require("path"); // node 自带的插件 用于对路径的处理
var Htmlwebpackplugin=require("html-webpack-plugin"); // 对 html 文件处理的插件
module.exports={
entry:{
index:"./index.js",
app:"./app.js"
}, // entry 代表入口文件,(也就是要被打包的文件)
// 属性值 可以是代表一个文件的 字符串,也可以是代表对象来表示多个文件
output:{
filename:"[name].js" // filename 代表出口的文件名,(就是打包后的文件), 如果是多个文件,我们一定要这么写
path:path.resolve("dist") // 路径 因为是绝对路径,所以我们需要使用 node 中自带的模板,path.resolve 就会找到当前目录下的绝对路径
},
mode:"", // 这个是新版本 webpack 新增的配置属性 如果不写的话,就会给出警告,属性值就两个,porduction 压缩, development 未压缩版
module:{} // 我们模块配置所依赖的包 如 在 npm 官网中 输入 css-loader
plugins:[
new Htmlwebpackplugin({
filename:"./index.html", // 编译后的 html 文件
template:"index.html", // 编译前地 html 文件
minify:{
collapseWhitespace:true // 将 html 文件压缩为一行
},
chunks:["index","app"] // 依赖的 js 文件 与 entry 中的属性 保持一致
})
] // 开发过程中所依赖的插件 如:html-webpack-plugin 插件为例
devServer:{
open:true, // 自动打开浏览器
contentBase:"" // 配置根目录
}
}
如果我们想使用 webpack 中的虚拟服务器,我们需要下载文件 webpack-dev-server
1. 下载:npm i webpack-dev-server -D
2. 启动指令:webpack-dev-server
如果想使用 npm run 来启动指令:
我们需要在 package.json 中的 script 中设置
"start":"webpack-dev-server" // start 随意起名
"dev":"npx webpack" // dev 随意起名
启动指令
npm start
npm run dev
webpack 最新版的更多相关文章
- 【webpack结合React开发环境配置】React开发环境配置之Webpack结合Babel8.x版本安装的正确姿势(Webpack最新版4.x结合Babel8.x环境配置步骤)
1. 安装cnpmnpm install -g cnpm --registry=https://registry.npm.taobao.org[使用淘宝镜像]2. 初始化package.json文件c ...
- vue(7)—— 组件化开发 — webpack(1)
引子 在研究完前面的vue开发后,其实已经可以自己开发点东西了,靠前面的指令集,组件,还有vue-router,还有异步请求这些知识点,是完全可以开发出来的,完全可以达到时下前后端分离的效果. 但是, ...
- [WIP]webpack入门
创建: 2019/04/09 安装 npm install --save-dev webpack # 最新版 npm install --save-dev webpack@<version&g ...
- Vue.js 第5章 webpack配置
为什么我们需要打包构建工具:因为我们以后做项目的时候,会使用到很多种不同的工具或者语言,这些工具或者语言其实浏览器并不支持 webpack 是一个现代 JavaScript 应用程序的模块打包器(mo ...
- Vue(基础七)_webpack打包工具用法(上)
一.前言 1.webpack原理 二.主要内容 1.webpack原理: (1)官网图:我们的项目有多个js, css文件的时候还需要考虑先引入哪一个后引入哪一个,因为这些js文件是相互依赖的,web ...
- Webpack3.X版 学习全文
如果你webpack用的是4.x版本,此文章部分知识有所改动,所以学习时尽量使用3.x的版本. 本文讲解的是Webpack3.0+的知识,努力做到全网最好的webpack3.0教程.文章通过一个半月的 ...
- webpack4.x下babel的安装、配置及使用
前言 目前,ES6(ES2015)这样的语法已经得到很大规模的应用,它具有更加简洁.功能更加强大的特点,实际项目中很可能会使用采用了ES6语法的模块,但浏览器对于ES6语法的支持并不完善.为了实现兼容 ...
- webpack 填坑指南
根据慕课网的教程,重写的一遍基于webpack+react的画廊应用 github地址 第一坑: 使用json-loader的时候require文件的时候报错,显示: Module build fai ...
- JavaScript资源大全中文版(Awesome最新版--转载自张果老师博客)
JavaScript资源大全中文版(Awesome最新版) 目录 前端MVC 框架和库 包管理器 加载器 打包工具 测试框架 框架 断言 覆盖率 运行器 QA 工具 基于 Node 的 CMS 框 ...
随机推荐
- django 中实现文件下载的3种方式
方法一:使用HttpResponse from django.shortcuts import HttpResponse def file_down(request): file=open('/hom ...
- 关于redis的几件小事(七)redis缓存雪崩与穿透
1.缓存雪崩 (1)什么是缓存雪崩 缓存雪崩指的是在同一时刻,缓存大量失效,导致大量的请求直接到了数据库,数据库压力剧增,引起系统崩溃.可能出现的情况有: ①大量的key设置了相同的过期时间,导致在缓 ...
- Hadoop学习之 HIVE 多用户模式安装
一.启动hadoop 集群 1.启动zookeeper 集群 zkServer.sh start 2.在master.hadoop 机器上 ./start-all.sh 由于 start-all命 ...
- mysql如何快速创建相同结构的表
[1]. 快速创建相同结构的表,包括索引: mysql> SHOW CREATE TABLE a; CREATE TABLE `a` ( `name` varchar(50) default N ...
- Ansible-Playbook实战
一.Playbook 实战案例 1.准备环境 角色 外网IP(NAT) 内网IP(LAN) 部署软件 m01 eth0:10.0.0.61 eth1:172.16.1.61 ansible ly-ba ...
- zencart通过产品id 批量添加推荐产品
1.修改 admin/featured.php 查找 pre_add_confirmation 将 pre_add_confirmation 与 break; 之间的代码,用下面的代码替换即可 &l ...
- 双向链表/list
双向链表结构如下 双向链表结构中元素在内存中不是紧邻空间,而是每个元素中存放上一个元素和后一个元素的地址 第一个元素称为头(head)元素,前连接(前置指针域)为nil 最后一个元素称为尾(foot) ...
- shell更改xml中的指定值
sed -i 's;<id>.*<\/id>;<id>新内容<\/id>;g' your.xml
- springboot异常
异常如下: org.springframework.context.ApplicationContextException: Unable to start embedded container; n ...
- Web前端经典面试试题(三)
一. 什么是Ajax??? 术语Ajax用来描述一组技术,它使浏览器可以为用户提供更为自然的浏览体验. Ajax它是"Asynchronous JavaScript + XML的简写&quo ...