目次
HTML リソースをパッケージ化する必要があるのはなぜですか?
Webpack で HTML リソースを圧縮してパッケージ化する方法
圧縮およびパッケージ化された HTML リソースの例
ホームページ ウェブフロントエンド jsチュートリアル HTML リソースを Webpack に圧縮してパッケージ化する方法について話しましょう

HTML リソースを Webpack に圧縮してパッケージ化する方法について話しましょう

Aug 09, 2022 pm 07:44 PM
webpack

HTML リソースを Webpack に圧縮してパッケージ化するにはどうすればよいですか? webpackを使用してHTMLリソースを圧縮してパッケージ化する方法については、以下の記事で簡単に紹介していますので、ご参考になれば幸いです。

HTML リソースを Webpack に圧縮してパッケージ化する方法について話しましょう

HTML リソースをパッケージ化する必要があるのはなぜですか?

コードを記述するとき、src の下に js ファイルが導入されます。 webpackでパッケージ化するとエントリファイルが作成されますが、このときhtml内のjsファイルの名前とパスが間違っているため、html内に導入されているjsファイルのパスをwebpackパッケージングで置き換える必要があります。

webpack を使用して HTML をパッケージ化する利点は次のとおりです:

(1) パッケージ化された js ファイルを html

(2) に自動的に導入できます。 HTML パッケージ化 HTML パッケージ化は引き続きビルド フォルダー内に生成され、パッケージ化された js ファイルと一緒にまとめられます。この方法では、オンラインにするときは、パッケージ化され生成されたフォルダーをオンライン環境にコピーするだけで済みます。

( 3) HTML ファイルの圧縮に役立ちます

Webpack で HTML リソースを圧縮してパッケージ化する方法

1. プラグインをインストールします

Webpack は、JS および JSON ファイルをネイティブに理解することしかできません。他のタイプのファイルのパッケージ化をサポートするには、対応するプラグインまたはローダーをインストールする必要があります。

HTML ファイルをパッケージ化する必要がある場合は、まず html-webpack-pluginプラグイン:

npm install html-webpack-plugin -D
ログイン後にコピー

このプラグインの役割:

  • デフォルトでは、エクスポートの下に html ファイルが作成され、その後、すべての JS/CSS リソースがインポートされます。

  • html ファイルを自分で作成し、この html ファイルにリソースを追加します

2. Webpack.config.js 設定

html-webpack-plugin プラグイン 最後に、webpack.config.js ファイルで構成する必要があります:

 // ...
 // 1. 引入插件
 const HtmlWebpackPlugin = require('html-webpack-plugin');
 
 module.exports = {
   // ...
   // 2. 在plugins中配置插件
   plugins: [
     new HtmlWebpackPlugin({
       template: 'index.html', // 指定入口模板文件(相对于项目根目录)
       filename: 'index.html', // 指定输出文件名和位置(相对于输出目录)
       // 关于插件的其他项配置,可以查看插件官方文档
     })
   ]
 }
ログイン後にコピー

詳細な構成リンク: https://www.npmjs.com/package/html-webpack-plugin

エントリ テンプレート ファイルのパスとファイル名が構成と一致していることを確認すると、コンパイルできます。

3. 複数の JS エントリと複数の HTML 状況の構成

複数の HTML ファイルをコンパイルする必要があり、ファイルが必要な場合さまざまな JS ファイルを導入しますが、デフォルトでは、パッケージ化された HTML ファイルがすべてのパッケージ化された JS ファイルをインポートするため、chunk を指定して JS を割り当てることができます。

 const path = require('path');
 // 1. 引入插件
 const HtmlWebpackPlugin = require('html-webpack-plugin');
 module.exports = {
   // ...
   // 2. 配置JS入口(多入口)
   entry: {
     vendor: ['./src/jquery.min.js', './src/js/common.js'],
     index: './src/index.js',
     cart: './src/js/cart.js'
   },
   // 配置出口
   output: {
     filename: '[name].js',
     path: path.resolve(__dirname, 'build/js')
   },
   // 3. 配置插件
   plugins: [
     new HtmlWebpackPugin({
       template: 'index.html',
       filename: 'index.html',
       // 通过chunk来指定引入哪些JS文件
       chunk: ['index', 'vendor']
     }),
     // 需要编译多少个HTML,就需要new几次插件
     new HtmlWebpackPlugin({
       template: './src/cart.html',
       filename: 'cart.html',
       chunk: ['cart', 'vendor']
     })
   ]
 }
ログイン後にコピー

ヒント: ここで注意する必要があるのは、コンパイルする必要がある HTML ファイルの数と、HtmlWebpackPlugin を新規に作成する必要がある回数です。

上記の構成が正常にコンパイルされると、出力は次のようになります:

 build
 |__ index.html # 引入index.js和vendor.js
 |__ cart.html    # 引入cart.js和vendor.js
 |__ js
      |__ vendor.js # 由jquery.min.js和common.js生成
      |__ index.js    # 由index.js生成
      |__ cart.js       # 由cart.js生成
ログイン後にコピー

圧縮およびパッケージ化された HTML リソースの例

1。 webpack.config.js 構成

const HTMLWebpackPlugin = require('html-webpack-plugin')
...
 plugins: [
    // html-webpack-plugin  html 打包配置 该插件将为你生成一个 HTML5 文件
    new HTMLWebpackPlugin({
      template: "./index.html", // 打包到模板的相对或绝对路径 (打包目标)
      title: '首页', // 用于生成的HTML文档的标题
      hash: true,//true则将唯一的webpack编译哈希值附加到所有包含的脚本和CSS文件中。主要用于清除缓存,
      minify: {  // 压缩html
        collapseWhitespace: true, // 折叠空白区域
        keepClosingSlash: true,  // 保持闭合间隙
        removeComments: true,   // 移除注释
        removeRedundantAttributes: true, // 删除冗余属性
        removeScriptTypeAttributes: true,  // 删除Script脚本类型属性
        removeStyleLinkTypeAttributes: true, // 删除样式链接类型属性
        useShortDoctype: true, // 使用短文档类型
        preserveLineBreaks: true, // 保留换行符
        minifyCSS: true, // 压缩文内css
        minifyJS: true, // 压缩文内js
      }
    }),
  ],
...
ログイン後にコピー

2.この時点では、index.html

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>webpackDemo</title>
  </head>
  <body>
    <div id="app">
      html 打包配置
    </div>
  </body>
</html>
ログイン後にコピー

3.この時点では、index.js

import &#39;./../css/index.less&#39;

function add(x,y) {
 return x+y
}
console.log(add(2,3));
ログイン後にコピー

3.コンソール Webpack 入力package を実行すると、パッケージ化された出力ファイルに余分な Index.html があることがわかりました。内容は次のとおりです。

<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>webpackDemo</title>
  <script defer src="index.js"></script></head>
  <body>
    <div id="app">
      html 打包配置
    </div>
  </body>
</html>
ログイン後にコピー

<script defer src="index.js">< /script></script> は自動です。 導入された

ブラウザは、パッケージ化された出力のindex.html を開き、スタイルが効果を持っていることを確認し、コントロール ユニットも正常に出力しました。

HTML リソースを Webpack に圧縮してパッケージ化する方法について話しましょう

HTML リソースを Webpack に圧縮してパッケージ化する方法について話しましょう

プログラミング関連の知識については、プログラミング ビデオをご覧ください。 !

以上がHTML リソースを Webpack に圧縮してパッケージ化する方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

VUE3 入門チュートリアル: Webpack を使用したパッケージ化とビルド VUE3 入門チュートリアル: Webpack を使用したパッケージ化とビルド Jun 15, 2023 pm 06:17 PM

Vue は、インタラクティブで効率的な Web アプリケーションを迅速に構築するのに役立つ優れた JavaScript フレームワークです。 Vue3 は、多くの新機能が導入された Vue の最新バージョンです。 Webpack は現在最も人気のある JavaScript モジュール パッケージャーおよびビルド ツールの 1 つで、プロジェクト内のさまざまなリソースの管理に役立ちます。この記事では、Webpack を使用して Vue3 アプリケーションをパッケージ化してビルドする方法を紹介します。 1.Webpackをインストールする

vite と webpack の違いは何ですか vite と webpack の違いは何ですか Jan 11, 2023 pm 02:55 PM

相違点: 1. Webpack サーバーの起動速度は Vite より遅いですが、Vite は起動時にパッケージ化する必要がなく、モジュールの依存関係を解析してコンパイルする必要がないため、起動速度が非常に速くなります。 2. Vite ホット アップデートは webpack よりも高速です。Vite の HRM の観点から、特定のモジュールのコンテンツが変更された場合、ブラウザーにモジュールを再リクエストさせるだけです。 3. Vite は esbuild を使用して依存関係を事前構築しますが、webpack はノードに基づいています。 4. Vite のエコロジーは webpack ほど良くなく、ローダーとプラグインが十分に豊富ではありません。

モジュール開発に PHP と webpack を使用する方法 モジュール開発に PHP と webpack を使用する方法 May 11, 2023 pm 03:52 PM

Web 開発テクノロジーの継続的な発展に伴い、フロントエンドとバックエンドの分離とモジュール開発が広く普及する傾向になりました。 PHP は一般的に使用されるバックエンド言語です。モジュラー開発を行う場合、モジュールの管理とパッケージ化にいくつかのツールを使用する必要があります。Webpack は非常に使いやすいモジュラー パッケージング ツールです。この記事では、モジュール開発に PHP と webpack を使用する方法を紹介します。 1. モジュラー開発とは何ですか? モジュラー開発とは、プログラムを、それぞれが独自の機能を持つ独立したモジュールに分解することを指します。

Webpack はどのように es6 モジュールを es5 モジュールに変換しますか? Webpack はどのように es6 モジュールを es5 モジュールに変換しますか? Oct 18, 2022 pm 03:48 PM

設定方法: 1. import メソッドを使用して ES6 コードをパッケージ化された js コード ファイルに配置します; 2. npm ツールを使用して babel-loader ツールをインストールします。構文は「npm install -D babel-loader @babel/core」です。 @babel/preset-env"; 3. babel ツールの構成ファイル「.babelrc」を作成し、トランスコーディング ルールを設定します。 4. webpack.config.js ファイルでパッケージ化ルールを構成します。

Spring Boot と Webpack を使用してフロントエンド プロジェクトとプラグイン システムを構築する Spring Boot と Webpack を使用してフロントエンド プロジェクトとプラグイン システムを構築する Jun 22, 2023 am 09:13 AM

最新の Web アプリケーションの複雑さが増すにつれて、優れたフロントエンド エンジニアリングとプラグイン システムを構築することがますます重要になっています。 Spring Boot と Webpack の人気により、これらはフロントエンド プロジェクトとプラグイン システムを構築するための完璧な組み合わせになりました。 SpringBoot は、最小限の構成要件で Java アプリケーションを作成する Java フレームワークです。自動構成などの多くの便利な機能を提供するため、開発者は Web アプリケーションをより迅速かつ簡単に構築および展開できます。 W

vwebpack パッケージに使用できるファイルは何ですか? vwebpack パッケージに使用できるファイルは何ですか? Dec 20, 2022 pm 07:44 PM

vue では、webpack は js、css、ピクチャ、json、その他のファイルをブラウザで使用できる適切な形式にパッケージ化できます。webpack では、js、css、ピクチャ、json、その他のファイル タイプをモジュールとして使用できます。 Webpack のさまざまなモジュール リソースは、パッケージ化して 1 つ以上のパッケージにマージでき、パッケージ化プロセス中に、画像の圧縮、scss から css への変換、ES6 構文から ES5 への変換などのリソースを処理できます。 HTMLで認識されるファイルタイプ。

ウェブパックとは何ですか?仕組みの詳しい説明は? ウェブパックとは何ですか?仕組みの詳しい説明は? Oct 13, 2022 pm 07:36 PM

Webpack はモジュールのパッケージ化ツールです。さまざまな依存関係のモジュールを作成し、それらをすべて管理可能な出力ファイルにパッケージ化します。これは、単一ページ アプリケーション (今日の Web アプリケーションの事実上の標準) に特に役立ちます。

パッケージ化プロセスと webpack の原則の詳細な分析 パッケージ化プロセスと webpack の原則の詳細な分析 Aug 09, 2022 pm 05:11 PM

Webpack はどのようにパッケージ化を実装しますか?次の記事では、Webpack のパッケージ化原則について詳しく説明します。お役に立てば幸いです。

See all articles