github仓库:https://github.com/llcMite/webpack.git

1)html-webpack-plugin    (用于模板生成html,自动引入output文件)

  1. cnpm install html-webpack-plugin --save-dev
  1. const HtmlWebpackPlugin = require('html-webpack-plugin');
    plugins:[
  2. new HtmlWebpackPlugin({
  3. title: 'reactTest',
  4. filename:'index.html',
  5. template:'./index.html' //模板路径
  6. })
  7.  
  8. ]

2)clean-webpack-plugin  (用于清理output出来的文件)

  1. cnpm install clean-webpack-plugin --save-dev
  1. plugins:[
  2. new CleanWebpackPlugin(['dist']), //这里我output是dist文件夹,所以清理的dist
  3. ]

3)webpack.optimize.CommonsChunkPlugin   (分离第三方库,这里我用的是react)

  1. var path=require('path');
  2. var webpack=require('webpack');
  3.  
  4. module.exports={
  5. //入口
  6. entry:{
  7. index:'./index.js',
  8. vendor:['react','react-dom']
  9. },
  10. //输出
  11. output:{
  12. path:path.resolve(__dirname,'dist'),
  13. filename:'[name].[hash].js',
  14. },
  15. module:{
  16. ...
  17. },
  18. plugins:[
  19. new webpack.optimize.CommonsChunkPlugin({
  20. names: ["vendor", "manifest"]
  21. })
  22. ]
  23. }

4)optimize-css-assets-webpack-plugin   uglifyjs-webpack-plugin   (压缩css及js)

  1. cnpm install uglifyjs-webpack-plugin optimize-css-assets-webpack-plugin --save-dev
  1. const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin');
  2. const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
  3.  
  4. plugins:[
  5. // 1、压缩CSS
  6. new OptimizeCSSPlugin({
  7. cssProcessorOptions: {
  8. safe: true
  9. }
  10. }),
  11. //2、压缩JS
  12. new UglifyJSPlugin({
  13. compress: { warnings: false },
  14. // 是否需要sourcePap
  15. // sourceMap: true
  16. }),
  17. ]

 5)postcss-loader

  1. cnpm install postcss-loader postcss-import postcss-cssnext --save-dev

配置一个postcss.config.js

  1. module.exports = {
  2. plugins: {
  3. // css 内可以使用 @import 其他CSS文件
  4. 'postcss-import': {},
  5. // CSS内可以使用 css3+ 新语法(autoprefixer已经内置到postcss-cssnext)
  6. 'postcss-cssnext': {
  7. browsers: ['last 2 versions', '> 5%']
  8. }
  9. }
  10. }

配置webpack.config.js

  1. loaders: [
  2. ...
  3. {
  4. test: /\.css$/,
  5. use: ['style-loader','css-loader', { loader: 'postcss-loader', options: { sourceMap: true } }]
  6. },
  7. {
  8. test: /\.less$/,
  9. use:['style-loader', 'css-loader','less-loader', { loader: 'postcss-loader', options: { sourceMap: true } } ]
  10. },
  11. ],

webpack常用插件配置记录的更多相关文章

  1. maven常用插件配置详解

    常用插件配置详解Java代码    <!-- 全局属性配置 --> <properties> <project.build.name>tools</proje ...

  2. 日志分析平台ELK之日志收集器logstash常用插件配置

    前文我们了解了logstash的工作流程以及基本的收集日志相关配置,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13761906.html:今天我们来了解下l ...

  3. Ubuntu 常用环境配置记录

    引言 经常使用 Ubuntu 虚拟机,双系统,WSL,服务器等等,每次配置常用开发环境都要去百度细节,故在此记录一下. 更换软件源 阿里云镜像 清华镜像 # 更新 sudo apt update &a ...

  4. vim 常用命令逐渐熟悉以及常用的配置记录

    本篇博客记录的是我自己学习vim的常用命令的过程中,各个命令的逐渐熟悉的顺序(有一部分已经熟悉的命令没有列出),已经对vim编辑器本身的一些设置的记录 1.G 快速将光标切换到文件的最底部 2.u 撤 ...

  5. Maven常用插件配置和使用

    主要介绍Maven的几个常见第三方插件(cobertura.findbugs.source.assembly.插件开发)配置和使用,接Maven介绍 maven本质上是一个插件框架,它的所有工作都交给 ...

  6. webpack 常用插件及作用

    copy-webpack-plugin :复制文件到目标文件夹.在开发时使用热模替换,(没有生成dist 文件夹,都在内存中),如果想引用某一个js文件,直接写script标签是找不到的,因为服务器内 ...

  7. centos中apache自用常用额外配置记录(xwamp)

    xwamp套件中apache配置,记录下,以免忘记. 配置路径 ${wwwroot_dir}/conf/httpd.conf 配置内容 <ifmodule mod_deflate.c> D ...

  8. jsplumb 流程图,常用功能配置记录

    前言: jsplumb 有2个版本一个Toolkit Edition(付费版),另外一个就是Community Edition(社区版本).Toolkit Edition版本功能集成的比较丰富,社区版 ...

  9. VSCODE常用插件使用记录

    常用必备: 1.vscode-icon 让 vscode 资源树目录加上图标,必备良品! 2.Path Intellisense 自动路劲补全,默认不带这个功能的 3.beautify Beautif ...

随机推荐

  1. HttpResponse输出文件

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx. ...

  2. axios的基本概念及安装配置方法

    ajax:异步请求,是一种无需再重新加载整个网页的情况下,能够更新部分网页的技术 axios:用于浏览器和node.js的基于promise的HTTP客户端 1.从浏览器制作XMLHttpReques ...

  3. 【Spark-core学习之六】 Spark资源调度和任务调度

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...

  4. angular和vue还有jquery的区别

    angularjs简单介绍和特点 首先angular是一个mvc框架, 使用mvc解耦, 采用model, controller以及view的方式去组织代码, 会将一个html页面分成若干个模块, 每 ...

  5. 知识点补充 set 深浅拷贝

    一 对前面知识点的补充 1.str中的join()方法是将列表转换成字符串 lst = ["韩雪","赵丽颖","黄渤","李连杰 ...

  6. Why Choose MB SD C5 with Engineer Software

    MB SD C5 with engineer software performed good and now is released. Unlike the old clone C5 which us ...

  7. 2015全国大学生数学建模B题浅谈

    题目请自主上网获取. 分析下思路.第一问,不同时空的出租车的“供求匹配”程度. 也就是说要选取的数据要有时间和地理两个维度.实体对象是出租车.关键的问题就是地点怎么选? 选择的城市具备如下经济较发达, ...

  8. Docker Kubernetes hostPort 代理转发

    Docker Kubernetes  hostPort 代理转发 hostPort: 1. 类似docker -p 映射宿主级端口到容器. 2. 容器所在的主机暴露端口转发到指定容器中. 3. hos ...

  9. 从GitHub远程仓库中删除文件夹或文件

    在上传项目到github时,忘记忽略了某个文件夹target,就直接push上去了, 最后意识到了此问题,决定删除掉远程仓库中的target文件夹 删除前: 删除后: 在github上只能删除仓库,却 ...

  10. redux-thunk的理解

    问题:1.redux-thunk要解决什么问题? 要解决异步请求问题,Action发出以后,Reducer立即算出State,这叫做同步:Action发出以后,过一段时间再执行 Reducer,这就叫 ...