const path = require('path');//引入路径包
const HWP = require('html-webpack-plugin');//引入自动产出html包
const CWP = require('clean-webpack-plugin');//引入清除文件包
const webpack = require('webpack');//引入webpack,做热更新用
//const etwp = require('extract-text-webpack-plugin');
const mcep = require('mini-css-extract-plugin');//引入分离css包
const copywp = require('copy-webpack-plugin');//引入拷贝插件 let obj = {
/*
webpack4.0需要配置依赖:
开发依赖->mode:'development'
生产依赖->mode:'production'
*/
mode:'development',//配置开发依赖
//入口文件
entry:{
'./index.html'//目的为了解析某些指定文件,最终编译成能在浏览器运行的文件
},
//出口文件(取个名字放在build文件夹下面)
output:{
path:path.resolve(__dirname,'build'),//指定打包后的文件夹
filename:'[name].[hash:6].js'//给指定的文件名字加上6位哈希
},
//利用loader模块转换器分离css
module:{
rules:[
{
/*在根目录下找.css结尾的文件,把他们打包出来 */
test:/\.css$/,//匹配所有以.css结尾的
use:[
//使用css分离就用mini-css-extract-plugin
{
loader.mcep
},
'css-loader'//使用css-loader
]
},
//处理css中图片
{
test:/\(jpg|png|gif|svg|ttf|eot|woff|bmp)$/,
use:[
{
loader:'url-loader',
options:{
limit:4096,//图片大小
outputPath:'../images',//指定打包后的图片位置
publicPath:'/images'//原来的图片位置
}
}
]
} ]
}
//引入扩展插件
plugins:[
//清除文件插件
new CWP({
['build']//清除打包后多余的js(必须放在html文件上面)
}),
//分离css插件
new mcep({
filename:'1.css'
}),
//自动产出html插件
new HWP({
template:'./index.html'//模板文件, //对文件进行压缩
minify:{
removeAttributeQuotes:true,//去掉属性双引号
collapseWhitespace:true//将文件压缩成一行
},
/*
设置文件的title
用模板引擎配合使用,<%= htmlWebpackPlugin.options.title>
*/
title:'欢迎来到webpack4.0',
hash:true,//给产出的文件加上hash,避免缓存
//提取代码中的公共模块,然后将其打包到独立的文件中
chunks:['index','index1'] }),
//热更新插件
new webpack.HotModuleReplacementPlugin()//热更新模块
],
//配置开发服务器
devServer:{
//配置开发服务运行时文件根目录(该配置可以省略)
contentBase:path.resolve(__dirname,'build'),
host:'localhost', //服务器监听的主机地址
compress:true, //服务器是否启动压缩
port:80, //服务器监听的端口
open:true, //自动打开浏览器 可不写
hot:true//热更新,局部刷新
} }
module.exports = obj;//导出obj *** extract-text-webpack-plugin默认安装的是3.0.2不支持webpack4.0
所以使用mini-css-extract-plugin 支持webpack4.0

web4.0基本配置的更多相关文章

  1. CentOS 7.0安装配置Vsftp服务器

    一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...

  2. Solr4.0 如何配置使用UUID自动生成id值

    原文链接http://blog.csdn.net/keepthinking_/article/details/8501058#comments 最近学习了Lucene,随便也学习了Solr,Solr规 ...

  3. 网站开启https后加密协议始终是TLS1.0如何配置成TLS1.2?

    p { margin-bottom: 0.1in; line-height: 120% } 网站开启https后加密协议始终是TLS1.0如何配置成TLS1.2? 要在服务器上开启 TLSv1.,通常 ...

  4. 驱动开发学习笔记. 0.01 配置arm-linux-gcc 交叉编译器

    驱动开发读书笔记. 0.01 配置arm-linux-gcc 交叉编译器 什么是gcc: 就像windows上的VS 工具,用来编译代码,具体请自己搜索相关资料 怎么用PC机的gcc 和 arm-li ...

  5. RHEL 7.0 本地配置yum源

    RHEL 7.0 本地配置yum源  yum简介  yum = Yellow dog Updater, Modified 主要功能是更方便的添加/删除/更新RPM包. 它能自动解决包的倚赖性问题. 它 ...

  6. JSP的那些事儿(2)---- DWR2.0 的配置和使用

    JSP的那些事儿(2)----DWR2.0 的配置和使用 分类: Web开发 JAVA 2009-04-23 15:43 999人阅读 评论(0) 收藏 举报 jspdwrjavascriptserv ...

  7. CentOS 7.0系统安装配置LAMP服务器(Apache+PHP+MariaDB)

    CentOS 7.0接触到的用户是比较少的,今天看了站长写了一篇关于centos7中安装配置LAMP服务器的教程,下面我把文章稍加整理一下转给大家学习交流,希望例子能给各位带来帮助哦.   cento ...

  8. CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)

    CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...

  9. Ubuntu14.10+cuda7.0+caffe配置

    转自:http://blog.csdn.net/lu597203933/article/details/46742199 Ubuntu14.10+cuda7.0+caffe配置 一:linux安装 L ...

随机推荐

  1. 解决vmware与主机无法连通的问题

    我们选择NAT方式,来实现Ubuntu的静态IP地址配置. 打开VMware,在顶部依次选择:编辑 > 虚拟网路编辑器,打开虚拟网路编辑器:去掉VMnet0和VMnet1,只保留VMnet8.然 ...

  2. Qt开发之信号槽机制

    一.信号槽机制原理 1.如何声明信号槽 Qt头文件中一段的简化版: class Example: public QObject { Q_OBJECT signals: void customSigna ...

  3. 时空CLR解密登陆密码源码

    public static SqlString GetPwd(string code ) { string txt = code; if(string.IsNullOrEmpty(txt)) { re ...

  4. @classmethod 与 @staticmethod 区别

  5. BZOJ3724 PA2014Final Krolestwo(欧拉回路+构造)

    如果没有长度为偶数的限制,新建一个点向所有奇点连边,跑欧拉回路即可,显然此时一定存在欧拉回路,因为所有点度数都为偶数. 考虑长度为偶数的限制,将每个点拆成两个点放进一个二分图里,那么每条原图中的边在二 ...

  6. css修改input表单默认样式重置与自定义大全

    链接地址: 伪元素表单控件默认样式重置与自定义大全 http://www.zhangxinxu.com/wordpress/?p=3381 Chrome 现在不支持通过伪元素修改 meter 元素样式 ...

  7. importlib 模块

    根据字符串的模块名实现动态导入模块的库 目录结构 ├── aaa.py ├── bbb.py └── mypackage ├── __init__.py └── xxx.py bbb.py impor ...

  8. day12 max min zip 用法

    max min ,查看最大值,最小值 基础玩法 l = [1,2,3,4,5] print(max(l)) print(min(l)) 高端玩法 默认字典的取值是key的比较 age_dic={'al ...

  9. shell 一

    1.shell是什么 shell是一种脚本语言 可以使用逻辑判断.循环等语法 可以自定义函数 shell是系统命令的集合 shell脚本可以实现自动化运维,能大大增加我们的运维效率 2.shell脚本 ...

  10. 自学Zabbix4.1 zabbix监控web服务器访问性能

    自学Zabbix4.1 zabbix监控web服务器访问性能 使用Zabbix实现对web性能的监控,通过它可以了解web站点的可用性以及性能.最终将各项指标绘制到图形中,这样我们可以了解到一个站点的 ...