まずコードファイルの構造を見てみましょう。エントリファイル (index1.js) の内容:'jquery' から $ をインポートします './css/index.css' をインポートします './less/index.less' をインポートします $(関数() { $('#app li:nth-child(odd)').css('color', 'red') $('#app li:nth-child(even)').css('color', 'green') }) './assets/fonts/iconfont.css' をインポートします。 定数ul = document.querySelector("ul"); 定数 theI = document.createElement("li"); theI.className='アイコンフォント icon-qq'; ul.appendChild(theI); webpack.config.js 構成ファイルの内容:定数パス = require('path'); HtmlWebpackPlugin は 'html-webpack-plugin' を必要とします。 モジュール.エクスポート = { //エントリ ファイル アドレス エントリ: './src/index1.js', 出力: { パス: path.resolve(__dirname, 'dist'), //エクスポートファイル名 filename: 'bundle.js', }, プラグイン: [ 新しいHtmlWebpackプラグイン({ テンプレート: './public/interlaced color.html' })], モジュール: { ルール: [{ //.cssで終わるファイルに一致します。iは大文字と小文字を区別しません。テスト: [/\.css$/i], // 右から左に実行します。順序は変更できません。style-loader は CSS を DOM に挿入し、css-loader は @import と url() を処理します。これは js が import/require() を解析するのと同じです。use: ["style-loader", "css-loader"], }, { テスト: /\.less$/i, 使用: [ // LessをCSSにコンパイルする 'スタイルローダー'、 'css-loader', 「ローダーレス」、 ]、 }, { // webpack5 はデフォルトではこれらのファイルを認識しないので、静的リソースとして出力します test: /\.(eot|svg|ttf|woff|woff2)$/, タイプ: '資産/リソース'、 ジェネレータ: { ファイル名: 'font/[name].[hash:6][ext]' } }], }, }; パッケージ化してから、パッケージ化された HTML ファイルを実行します。 CSSスタイルは、jsによって生成されたスタイルタグの形式で追加されていることがわかります。 パッケージを実行すると、lessがcssファイルに変換されますが、cssファイルはjsを通じてスタイルタグで追加されます。次に、cssを分割し、リンクタグで導入します。 ステップ:1. mini-css-extract-pluginをインストールするnpm i mini-css-extract-plugin -D //npm インストール yarn add mini-css-extract-plugin -D //yarn インストール 2. webpack.config.jsファイルで導入して設定する定数パス = require('path'); HtmlWebpackPlugin は 'html-webpack-plugin' を必要とします。 //インストールされた mini-css-extract-plugin を導入する const MiniCssExtractPlugin = require("mini-css-extract-plugin"); モジュール.エクスポート = { //エントリ ファイル アドレス エントリ: './src/index1.js', 出力: { パス: path.resolve(__dirname, 'dist'), //エクスポートファイル名 filename: 'bundle.js', }, プラグイン: [新しい MiniCssExtractPlugin(), 新しいHtmlWebpackプラグイン({ テンプレート: './public/interlaced color.html' })], モジュール: { ルール: [{ //.cssで終わるファイルに一致します。iは大文字と小文字を区別しません。テスト: [/\.css$/i], // 右から左に実行します。順序は変更できません。Style-loader は CSS を DOM に挿入し、css-loader は @import と url() を処理します。これは js が import/require() を解析するのと同じです。use: [MiniCssExtractPlugin.loader, "css-loader" ]、 }, { テスト: /\.less$/i, 使用: [ // LessをCSSにコンパイルする MiniCssExtractPlugin.loader、 'css-loader', 「ローダーレス」、 ]、 }, { // webpack5 はデフォルトではこれらのファイルを認識しないので、静的リソースとして出力します test: /\.(eot|svg|ttf|woff|woff2)$/, タイプ: '資産/リソース'、 ジェネレータ: { ファイル名: 'font/[name].[hash:6][ext]' } }], }, }; 知らせ:
3. 分割されたCSSファイルを圧縮する
定数パス = require('path'); HtmlWebpackPlugin は 'html-webpack-plugin' を必要とします。 //インストールされた mini-css-extract-plugin を導入する const MiniCssExtractPlugin = require("mini-css-extract-plugin"); //分割を圧縮するために使用されるCSS const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin'); モジュール.エクスポート = { //エントリ ファイル アドレス エントリ: './src/index1.js', 出力: { パス: path.resolve(__dirname, 'dist'), //エクスポートファイル名 filename: 'bundle.js', }, プラグイン: [新しい MiniCssExtractPlugin()、新しい OptimizeCSSAssetsPlugin({})、 新しいHtmlWebpackプラグイン({ テンプレート: './public/interlaced color.html' })], モジュール: { ルール: [{ //.cssで終わるファイルに一致します。iは大文字と小文字を区別しません。テスト: [/\.css$/i], // 右から左に実行します。順序は変更できません。Style-loader は CSS を DOM に挿入し、css-loader は @import と url() を処理します。これは js が import/require() を解析するのと同じです。use: [MiniCssExtractPlugin.loader, "css-loader" ]、 }, { テスト: /\.less$/i, 使用: [ // LessをCSSにコンパイルする MiniCssExtractPlugin.loader、 'css-loader', 「ローダーレス」、 ]、 }, { // webpack5 はデフォルトではこれらのファイルを認識しないので、静的リソースとして出力します test: /\.(eot|svg|ttf|woff|woff2)$/, タイプ: '資産/リソース'、 ジェネレータ: { ファイル名: 'font/[name].[hash:6][ext]' } }], } }; 4. 包装追加の main.css ファイルを見つけたので、Web ページを開いて表示しました。 main.css ファイルはリンクとしてインポートされ、圧縮されます。 これで、webpack による CSS の分割と圧縮、およびリンクによるインポートに関するこの記事は終了です。より関連性の高い webpack による CSS の分割と圧縮に関するコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Dockerで複数のSpringbootを実行するための詳細なチュートリアル
>>: HTML テーブル マークアップ チュートリアル (15): テーブル タイトル
実際のプロジェクトでは、複数のテーブル間に関係が存在します。 1 つのテーブル内のすべてのデータを取...
リンク: https://qydev.weixin.qq.com/wiki/index.php?ti...
このドキュメントの目的はreact-diagramフレームワーク モデルの Json シリアル化を説...
docker アタッチコマンドdocker attach [options] 容器実行中のコンテナに...
最初で最も重要なステップは、Windows 環境に Ngnix サービスをインストールする方法です。...
MySQL proxies_priv(シミュレートされたロール)を使用して同様のユーザーグループ管理...
序文SQL の言語分類には主に以下の種類があります。 DDLデータ定義言語作成、削除、変更データ定義...
ゲーム史上最高スコアトップ100をチェックSQLコード cdb_playsgame ps から ps...
序文退社前に、ある依頼を受けました。基本イメージ規格の変更により、最新の Docker イメージ規格...
1. はじめに周知のように、データベース ミドルウェアの読み取り/書き込み分離のアプリケーション シ...
目次MySQL 結果のソート - 集計関数環境クエリ結果の並べ替えクエリのグループ化と集約生徒の平均...
私はしばらくの間チャートをいじっていましたが、好奇心から、CSS を使用してチャートを作成するより良...
jsvc の紹介実稼働環境では、Tomcat はデーモン モードで実行する必要があります。Tomc...
序文Oracle や SQL Server などのデータベースには、ストレージ エンジンが 1 つだ...
必要: docker を使用して nginx + tomcat デュアル プロセスを起動します。実際...