webpack常用插件配置记录
github仓库:https://github.com/llcMite/webpack.git
1)html-webpack-plugin (用于模板生成html,自动引入output文件)
cnpm install html-webpack-plugin --save-dev
const HtmlWebpackPlugin = require('html-webpack-plugin');
plugins:[
new HtmlWebpackPlugin({
title: 'reactTest',
filename:'index.html',
template:'./index.html' //模板路径
})
]
2)clean-webpack-plugin (用于清理output出来的文件)
cnpm install clean-webpack-plugin --save-dev
plugins:[
new CleanWebpackPlugin(['dist']), //这里我output是dist文件夹,所以清理的dist
]
3)webpack.optimize.CommonsChunkPlugin (分离第三方库,这里我用的是react)
var path=require('path');
var webpack=require('webpack');
module.exports={
//入口
entry:{
index:'./index.js',
vendor:['react','react-dom']
},
//输出
output:{
path:path.resolve(__dirname,'dist'),
filename:'[name].[hash].js',
},
module:{
...
},
plugins:[
new webpack.optimize.CommonsChunkPlugin({
names: ["vendor", "manifest"]
})
]
}
4)optimize-css-assets-webpack-plugin uglifyjs-webpack-plugin (压缩css及js)
cnpm install uglifyjs-webpack-plugin optimize-css-assets-webpack-plugin --save-dev
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin');
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
plugins:[
// 1、压缩CSS
new OptimizeCSSPlugin({
cssProcessorOptions: {
safe: true
}
}),
//2、压缩JS
new UglifyJSPlugin({
compress: { warnings: false },
// 是否需要sourcePap
// sourceMap: true
}),
]
5)postcss-loader
cnpm install postcss-loader postcss-import postcss-cssnext --save-dev
配置一个postcss.config.js
module.exports = {
plugins: {
// css 内可以使用 @import 其他CSS文件
'postcss-import': {},
// CSS内可以使用 css3+ 新语法(autoprefixer已经内置到postcss-cssnext)
'postcss-cssnext': {
browsers: ['last 2 versions', '> 5%']
}
}
}
配置webpack.config.js
loaders: [
...
{
test: /\.css$/,
use: ['style-loader','css-loader', { loader: 'postcss-loader', options: { sourceMap: true } }]
},
{
test: /\.less$/,
use:['style-loader', 'css-loader','less-loader', { loader: 'postcss-loader', options: { sourceMap: true } } ]
},
],
webpack常用插件配置记录的更多相关文章
- maven常用插件配置详解
常用插件配置详解Java代码 <!-- 全局属性配置 --> <properties> <project.build.name>tools</proje ...
- 日志分析平台ELK之日志收集器logstash常用插件配置
前文我们了解了logstash的工作流程以及基本的收集日志相关配置,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13761906.html:今天我们来了解下l ...
- Ubuntu 常用环境配置记录
引言 经常使用 Ubuntu 虚拟机,双系统,WSL,服务器等等,每次配置常用开发环境都要去百度细节,故在此记录一下. 更换软件源 阿里云镜像 清华镜像 # 更新 sudo apt update &a ...
- vim 常用命令逐渐熟悉以及常用的配置记录
本篇博客记录的是我自己学习vim的常用命令的过程中,各个命令的逐渐熟悉的顺序(有一部分已经熟悉的命令没有列出),已经对vim编辑器本身的一些设置的记录 1.G 快速将光标切换到文件的最底部 2.u 撤 ...
- Maven常用插件配置和使用
主要介绍Maven的几个常见第三方插件(cobertura.findbugs.source.assembly.插件开发)配置和使用,接Maven介绍 maven本质上是一个插件框架,它的所有工作都交给 ...
- webpack 常用插件及作用
copy-webpack-plugin :复制文件到目标文件夹.在开发时使用热模替换,(没有生成dist 文件夹,都在内存中),如果想引用某一个js文件,直接写script标签是找不到的,因为服务器内 ...
- centos中apache自用常用额外配置记录(xwamp)
xwamp套件中apache配置,记录下,以免忘记. 配置路径 ${wwwroot_dir}/conf/httpd.conf 配置内容 <ifmodule mod_deflate.c> D ...
- jsplumb 流程图,常用功能配置记录
前言: jsplumb 有2个版本一个Toolkit Edition(付费版),另外一个就是Community Edition(社区版本).Toolkit Edition版本功能集成的比较丰富,社区版 ...
- VSCODE常用插件使用记录
常用必备: 1.vscode-icon 让 vscode 资源树目录加上图标,必备良品! 2.Path Intellisense 自动路劲补全,默认不带这个功能的 3.beautify Beautif ...
随机推荐
- Python基础(五) python装饰器使用
这是在Python学习小组上介绍的内容,现学现卖.多练习是好的学习方式. 第一步:最简单的函数,准备附加额外功能 # -*- coding:gbk -*- '''示例1: 最简单的函数,表示调用了两次 ...
- 前端学习历程--js事件监听
一.事件监听使用场景 1.事件触发多个方法的时候,后一个方法会把前一个方法覆盖掉. window.onload = function(){ var btn = document.getElement ...
- nginx配置详细解析
转自 http://blog.csdn.net/zhongguozhichuang/article/details/528168871.静态HTTP服务器 首先,Nginx是一个HTTP服务器,可以将 ...
- photoshop cc 安装失败 2%
photoshop cc 安装失败 2% C盘--Program Files---Common Files--Adobe--caps ,把这个文件夹中的文件全部删除,然后再安装 C:\Pr ...
- c# 文件与流
1.创建和删除目录 在c#中涉及到输入.输出(i/o)相关操作的API都被放在System.IO命名空间下,或者子命令System.IO.IsolatedStoorage中.对目录进行操作可以使用Di ...
- HSV to RGB
HSV构成: Hue : the color type (red, blue, or yellow) Ranges from 0 to 360° Saturation : the intensity ...
- 配置firewalld防火墙
题:请按下列要求在 system1 和 system2 上设定防火墙系统: 允许 group8.example.com 域的客户对 system1 和 system2 进行 ssh 访问. 禁止 my ...
- FL studio的循环模式简介
在FL studio中,有一个非常有用的功能,它可以加快我们的工作进程,它就是循环模式. 通过频道循环,我们可以在单个模式中创建整个项目,然后使用“按频道分割”将它们分开,以便在播放列表中排列.通常情 ...
- 学习requests_html
一.获取页面上的所有链接. from requests_html import HTMLSession session=HTMLSession() r=session.get('https://new ...
- Linux——命令
1.pod2text # 功能输出处理对象(脚本)中的的=head1 ...=head1 ......=cut框架中的信息 2.date # 输出时间 eg: Sat Ju ...