まずコードファイルの構造を見てみましょう。エントリファイル (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): テーブル タイトル
HTML のフォームを使用して、ユーザーからさまざまな種類の入力情報を収集できます。フォームは、実際...
目次ミニプログラム開発者ツールのソースコードを表示する方法ミニプログラムアーキテクチャ設計1. ミニ...
この記事では、シンプルな画像カルーセル効果を実現するためのJSの具体的なコードを参考までに紹介します...
ジブの紹介Jib は Google が開発した、Java アプリケーションの Docker および ...
序文私は Win7 を搭載した古いラップトップを持っています。古いシステムを維持しながら、同時に U...
1.0 Redis の永続性Redis はメモリ内データベースです。サーバー プロセスが終了すると、...
1. ダウンロードしたファイルを以下のように解凍します。 。 2. 環境変数に解凍ディレクトリを追加...
この記事では、Centos7.3でのmysql5.7.18のインストールと初期パスワードの変更につい...
HTML で色を表す方法は 3 つありますが、最もよく使われるのは 6 桁の 16 進コード表現です...
序文2 つのテーブル内の同じフィールドの型が異なっていたり、エンコード タイプが異なっていたりするた...
Mac OS X で TAR.GZ から MySQL 5.7 をインストールする MySQL 5.6...
目次必要:アイデア:レッスン:テキストを共有する:要約する必要:インターフェイスからサブメニュー デ...
HTML画像にハイパーリンクを追加すると醜い青い枠線が表示される次のように:解決: CSS スタイル...
目次1. データベースのマスター/スレーブ分類: 2. MySQL マスタースレーブの紹介3. マス...
Nginx を設定する 3 つの方法最初の方法は、位置一致部分を直接置き換える。 2 番目の pro...