视频里所说的css tree-shaking在实际实践中,虽然和视频的不一样,但是大体思想一致,老师帮忙看下为啥没有生效?
来源:3-16 由浅入深 webpack - Tree-shaking - CSS Tree-shaking
慕运维5828042
2018-02-23
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <div id="app"></div> <div class="a">dsajdajk</div> <script src="./dist/app.bundle.js"></script> </body> </html>
import './css/app.css'
import { a } from '../util';
a()
import {chunk} from 'lodash'
console.log(chunk(['a', 'b', 'c', 'd'], 3))
let Dom = document.getElementById('app')
let div = document.createElement('div');
div.className = "b";
Dom.appendChild(div).a{
font-size:16px;
}
.b{
font-size:18px;
}
.c{
font-size:20px;
}
.c1{
font-size:20px;
}
.c2{
font-size:20px;
}
.c3{
font-size:20px;
}
.c4{
font-size:20px;
}配置文件
const webpack = require('webpack');
const CleanWepackPlugin = require('clean-webpack-plugin');
const ExtractTextWebpackPlugin = require('extract-text-webpack-plugin')
const PurifyCss = require('purifycss-webpack');
const glob = require('glob-all');
const path = require('path')
module.exports = {
entry: {
app: './src/app.js'
},
output: {
path: __dirname + '/dist',
filename: '[name].bundle.js'
},
module:{
rules: [
{
test: /\.js$/,
use: [{
loader: 'babel-loader',
options: {
presets: 'env',
plugins: ['lodash']
}
}]
},
{
test: /\.css$/,
use: ExtractTextWebpackPlugin.extract({
fallback: 'style-loader',
use: ['css-loader']
})
}
]
},
plugins: [
new ExtractTextWebpackPlugin({
filename: '[name].min.css'
}),
new PurifyCss({
paths: glob.sync([
path.join(__dirname,'./*.html'),
path.join(__dirname,'./src/*.js')
])
}),
new webpack.optimize.UglifyJsPlugin(),
new CleanWepackPlugin('./dist'),
]
}
写回答
1回答
-
qbaty
2018-02-24
你试试把 PurifyCss 放到 ExtractTextWebpackPlugin 前面先处理
012018-02-25
相似问题