まずコードファイルの構造を見てみましょう。エントリファイル (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): テーブル タイトル
この記事では、CentOS 7 環境で MySQL 5.6 の複数のインスタンスを作成する方法につい...
目次1. Vueフロントエンドを構成する1. クロスドメイン構成を開発する2. 本番環境のクロスドメ...
すべてのタグは小文字でなければなりませんXHTML では、すべてのタグは小文字でなければなりません。...
目次補間式方法計算された要約する今日は、Vue の計算プロパティについてお話ししましょう。計算プロパ...
大規模なシステムに取り組んだことがある人なら誰でも、ログの役割を過小評価してはならないことを知ってい...
1. ブラウザのレンダリングモードとdoctype一部の Web ページは標準に従って作成されていま...
右クリックメニューを無効にする <body oncontextmenu=self.event....
日常業務では、ログを表示する必要がよくあります。たとえば、 tail コマンドを使用してログをリアル...
この記事の例では、モバイル紅包雨機能ページを実現するためのHTMLの具体的なコードを共有しています。...
開発の問題点開発プロセスでは、データベース フィールドが頻繁に変更されるため、RD 環境と QA 環...
序文gdb は Linux で非常に便利なデバッグ ツールです。コマンドライン モードのデバッグ ツ...
この記事では、お絵かきボード/サインボード機能を実現するためのJSキャンバスの具体的なコードを参考ま...
MySQL-8.0.23 をダウンロードクリックしてダウンロード: mysql-8.0.23-li...
テキストシャドウ text-shadow プロパティの効果: 1. 右下隅の影、左下隅の影、左上隅の...
1つ目:通常動作 選択 SUM(ddd) AS count_days、 場合 aa.days >...