extract-text-webpack-plugin
先上代码:
const HtmlWebpackPlugin = require('html-webpack-plugin')
const path = require('path');
const ExtractTextPlugin = require('extract-text-webpack-plugin');module.exports = {entry: {// index: './src/index.js',// utils: './src/utils.js'index: path.resolve(__dirname, 'src/index.js'),utils: path.resolve(__dirname, 'src/utils.js')},output: {//path: __dirname + '/dist',//filename: '[name]-[chunkhash].js'path: path.resolve(__dirname, 'dist'),filename: '[name]_bundle.js' //配合下面配置中的hash选项使用,可不加[chunkhash]},module: {rules: [{test: /\.css$/,//use: ['style-loader', 'css-loader']use: ExtractTextPlugin.extract({fallback: 'style-loader',use: 'css-loader'// fallback: {// 这里表示不提取的时候,使用什么样的配置来处理css// loader: 'style-loader',// options: {// singleton: true // 表示将页面上的所有css都放到一个style标签内// }// },// use: [// {// loader: 'css-loader',// // options: {// // minimize: true //css-loader 1.0之后不支持该配置// // }// }// ]})}]},plugins: [new HtmlWebpackPlugin({title: 'My Test',filename: 'test.html',hash: true,chunks: ['utils']}),new HtmlWebpackPlugin({title: 'My App',filename: 'index.html',hash: true,chunks: ['index']}),//new ExtractTextPlugin('style.css')new ExtractTextPlugin({filename: '[name].min.css'})]
}
复制代码
如果直接安装的话,会安装"extract-text-webpack-plugin": "^3.0.2"
,执行webpack打包命令时会报错
原因是因为这个版本中还不能支持webpack4.0.0
以上的版本,所以就需要安装webpack4.0
以下的版本或者是安装extract-text-webpack-plugin4.0
以上的版本。
解决方法:npm install extract-text-webpack-plugin@next --save-dev
,会下载到4.0版本
参考: blog.csdn.net/gezilan/art…
allChunks属性
当为false的时候,只会提取初始化的时候引入的css,当allChunks属性为true时,会把异步引入的css也提取出来。
new ExtractTextWebpackPlugin({ // 在plugins中配置属性allChunks: false // true表示会把所有的css都提取出来,false只会把初始化的提取,默认是false
})
复制代码
- 在src/css目录下新建一个components目录,并在components目录新建一个a.css,并添加代码
div{font-size: 20px;color: #000;
}
复制代码
- 在src目录下新建components目录,并在components目录新建一个a.js,并引入a.css
import '../css/components/a.css';
复制代码
- 在index.js中异步引入a.js
import(/* webpackChunkName: 'a' */ './components/a').then(function (a) {console.log(a);
})
复制代码
- 执行打包webpack,会发现index.min.css中没有a.css中的样式,而在a.bundle.js中有引入的a.css的样式
(n.exports = i(4)(!1)).push([n.i, "div{\r\n font-size: 20px;\r\n color: #000;\r\n}", ""])
复制代码
- 若将allChunks设置为true,会发现index.min.css中有a.css样式。
如果有多于一个extract-text-webpack-plugin示例的情形,请使用此方法每个实例上的 extract 方法。
const ExtractTextPlugin = require('extract-text-webpack-plugin');
// 创建多个实例
const extractCSS = new ExtractTextPlugin('stylesheets/[name]-one.css');
const extractLESS = new ExtractTextPlugin('stylesheets/[name]-two.css');
module.exports = {module: {rules: [{test: /\.css$/,use: extractCSS.extract(['css-loader', 'postcss-loader'])},{test: /\.less$/i,use: extractLESS.extract(['css-loader', 'less-loader'])},]},plugins: [extractCSS,extractLESS]
};
复制代码
extract-text-webpack-plugin相关推荐
- Webpack之插件html webpack plugin
Webpack之插件html webpack plugin html-webpack-plugin插件 动态生成html文件并自动引入js文件 静态文件无需加载js或css文件,通过设置入口文件可以将 ...
- 【已解决】Html Webpack Plugin Error;html-withimg-loader无法正常解析html内的img
升级webpack之后发现原本之前用的好好的配置报错了: 控制台报错: ERROR in Error: Parse Error: <img src={"default":&q ...
- webpack Plugin常用 optimization splitChunks UglifyJsPlugin sourceMap
很多东西容易忘记,做个简单笔记 1.webpack loader 加载顺序 从后到前 例子 ['style-loader', 'css-loader','sass-loader'] 先sass最后st ...
- Sublime Text 3 Plugin Better!
Package Control Cmake ConvertUTF Markdown preview MarkdownEditing Marking Changed Rows 转载于:https://w ...
- [转] webpack之plugin内部运行机制
简介 webpack作为当前最为流行的模块打包工具,几乎所有的主流前端开发框架(React.Vue等)都会将其作为默认的模块加载和打包工具.通过简单的配置项,使用各种相关的loader和plugin, ...
- 霖呆呆的六个自定义Webpack插件详解-自定义plugin篇(3)
霖呆呆的webpack之路-自定义plugin篇 你盼世界,我盼望你无bug.Hello 大家好!我是霖呆呆! 有很多小伙伴在打算学写一个webpack插件的时候,就被官网上那一长条一长条的API给吓 ...
- webpack 打包(plugin、loader 工作原理)
模块化工具 由来 ES Modules 存在环境兼容问题 模块文件过多,网络请求频繁 所有的前端资源都需要模块化 概要 Webpack 作为 模块打包器(Module bundler),可以把零散的文 ...
- 翻译 | 关键CSS和Webpack: 减少阻塞渲染的CSS的自动化解决方案
原文地址: Critical CSS and Webpack: Automatically Minimize Render-Blocking CSS 原文作者: Anthony Gore 译者: 蜗牛 ...
- 分析vue-cli@2.9.3 搭建的webpack项目工程
前言 已经有很多分析Vue-cli搭建工程的文章,为什么自己还要写一遍呢.学习就好比是座大山,人们沿着不同的路登山,分享着自己看到的风景.你不一定能看到别人看到的风景,体会到别人的心情.只有自己去登山 ...
- 如何将Webpack与React结合使用:深入的教程
Updated to Babel 7 更新至Babel 7 In this tutorial we will see the basics of Webpack for React to get yo ...
最新文章
- Fail to find the dnn implementation. [Op:CudnnRNN]解决办法
- PTA 基础编程题目集 7-7 12-24小时制 C语言
- 什么样的编程语言,竟然能融资 1.6 亿?
- 如何防御DDoS攻击
- 小白自学Java框架,框架的全面解析总结
- 2、安装和连接mysql
- 领域应用 | 知识图谱在小米的应用与探索
- 数据结构_十字链表(C语言)
- 用python批量下载网易云音乐_python实现网易云音乐批量下载
- JavaScript中的replace替换
- eSIM卡崛起:传统运营商地位岌岌可危
- python爬取有声小说_python写的有声小说爬虫
- 2023西安交通大学药物分析专业学硕考研上岸经验
- JQuery 网页选项卡制作
- border-radius和border-image
- Java 爬虫微信公众号详情,并且破解微信图片跨域问题
- 《设计模式》12.组合模式(结构型)
- windows c语言目录操作函数,C/C++: C语言目录操作
- 基于MCR的MATLAB使用案例
- Neural Networks and Deep Learning读书笔记--神经网络应用:手写数字识别
热门文章
- iss版本服务器读取_【IIS7服务器管理工具下载】IIS7服务器管理 v2.1.9 官方版-开心电玩...
- 在Excel中如何利用VBA实现(符合条件)指定(空)行列的批量删除
- 网关屏蔽mac地址,linux下修改mac地址方法
- init.d,rc.d详解 Linux运行时详解
- 抄底公式---预测黑马
- 马库斯:DeepMind新出的机器心智网络不错,但有误导性
- 使用zabbix监控esxi
- K8s集群部署(四)------ Flannel网络部署
- [20180503]珅与分隔符.txt
- 被逮到一个初始状态考虑不周的Bug