使用Webpack将CSS和JS内联到HTML中并删除不使用的样式,可以按照以下步骤进行操作:
webpack.config.js
。const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js',
},
};
这里的入口文件是./src/index.js
,输出文件将会生成在./dist/bundle.js
。
npm install --save-dev html-webpack-plugin style-loader css-loader mini-css-extract-plugin optimize-css-assets-webpack-plugin terser-webpack-plugin
const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
const TerserPlugin = require('terser-webpack-plugin');
module.exports = {
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
test: /\.css$/,
use: [MiniCssExtractPlugin.loader, 'css-loader'],
},
],
},
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html',
inject: 'body',
minify: {
removeComments: true,
collapseWhitespace: true,
removeRedundantAttributes: true,
useShortDoctype: true,
removeEmptyAttributes: true,
removeStyleLinkTypeAttributes: true,
keepClosingSlash: true,
minifyJS: true,
minifyCSS: true,
minifyURLs: true,
},
}),
new MiniCssExtractPlugin({
filename: '[name].css',
chunkFilename: '[id].css',
}),
new OptimizeCssAssetsPlugin(),
],
optimization: {
minimizer: [
new TerserPlugin({
terserOptions: {
compress: {
drop_console: true,
},
},
}),
],
},
};
这里使用了HtmlWebpackPlugin
来生成最终的HTML文件,并配置了一些优化选项。使用MiniCssExtractPlugin
将CSS提取为单独的文件。使用OptimizeCssAssetsPlugin
优化提取的CSS文件。使用TerserPlugin
压缩JS文件。
src/index.html
文件,并在其中引入CSS和JS文件:<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>My App</title>
<link rel="stylesheet" href="./dist/main.css">
</head>
<body>
<script src="./dist/bundle.js"></script>
</body>
</html>
这里的./dist/main.css
和./dist/bundle.js
分别对应输出文件的路径。
src/index.js
文件,并在其中引入CSS文件:import './style.css';
// 其他JS代码...
这里的./style.css
是你的CSS文件路径。
npx webpack --config webpack.config.js
Webpack将会根据配置文件进行打包,生成的最终HTML文件和相关的CSS和JS文件将会在./dist
目录下。
以上就是使用Webpack将CSS和JS内联到HTML中并删除不使用的样式的步骤。对于Webpack的更多配置和功能,可以参考腾讯云产品Webpack的介绍:Webpack产品介绍。
云+社区技术沙龙[第5期]
北极星训练营
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区技术沙龙[第28期]
云+社区技术沙龙[第8期]
云+社区技术沙龙[第14期]
云+社区技术沙龙[第7期]
云原生正发声
领取专属 10元无门槛券
手把手带您无忧上云