目次
サポート:
サポート:
ホームページ ウェブフロントエンド jsチュートリアル Webpackでよく使われる3つのJS圧縮プラグインを詳しく解説

Webpackでよく使われる3つのJS圧縮プラグインを詳しく解説

Apr 13, 2021 pm 07:00 PM
webpack

この記事では、webpack で一般的に使用される 3 つの JS 圧縮プラグインを詳しく紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

Webpackでよく使われる3つのJS圧縮プラグインを詳しく解説

#ここでは 3 種類の JS パッケージ化プラグインを紹介します:

# (1) UglifyJS

# # サポート:

babel present2015webpack3欠点:

シングルスレッドの圧縮コードを使用します、つまり、複数の js ファイルを圧縮する必要がある場合、1 つずつ圧縮する必要があります。したがって、正式な環境でのコードのパッケージ化と圧縮は非常に時間がかかります (JS コードを圧縮するには、まずコードをオブジェクト抽象化で表される AST 構文ツリーに解析し、次にさまざまなルールを適用して AST を分析および処理する必要があるため、このプロセスに非常に時間がかかります) -消費する) 。

利点:

古いプロジェクトのサポート (IOS10 と互換性あり)

使用法:

npm i uglifyjs-webpack - plugin

module.exports = {
  plugins: [
    new webpack.optimize.UglifyJsPlugin({
      sourceMap: true,
      compress: {
        warnings: false
      }
    }),
  ]
}
ログイン後にコピー
[推奨学習: JavaScript 上級チュートリアル

]

(2) webpack-Parallel-uglify-plugin

サポート:

babel7webpack4##欠点: 古いプロジェクトではサポートされていません (IOS10 と互換性がありません) )

利点:

ParallelUglifyPlugin プラグインは複数のサブプロセスを開き、複数のファイルの圧縮作業を複数のサブプロセスに割り当てて完了しますが、それぞれサブプロセスは引き続き UglifyJS 解凍コードを渡します。圧縮する必要があるのは並列処理にすぎず、複数のサブタスクを並列処理するとさらに効率が向上します。

使用法:

1、npm i -D webpack-Parallel-uglify-plugin

2、 webpack.config.jsFile

// 引入 ParallelUglifyPlugin 插件
const ParallelUglifyPlugin = require('webpack-parallel-uglify-plugin');

module.exports = {
plugins: [
// 使用 ParallelUglifyPlugin 并行压缩输出JS代码
new ParallelUglifyPlugin({
// 传递给 UglifyJS的参数如下:
uglifyJS: {
output: {
/*
 是否输出可读性较强的代码,即会保留空格和制表符,默认为输出,为了达到更好的压缩效果,
 可以设置为false
*/
beautify: false,
/*
 是否保留代码中的注释,默认为保留,为了达到更好的压缩效果,可以设置为false
*/
comments: false
},
compress: {
/*
 是否在UglifyJS删除没有用到的代码时输出警告信息,默认为输出,可以设置为false关闭这些作用
 不大的警告
*/
warnings: false,

/*
 是否删除代码中所有的console语句,默认为不删除,开启后,会删除所有的console语句
*/
drop_console: true,

/*
 是否内嵌虽然已经定义了,但是只用到一次的变量,比如将 var x = 1; y = x, 转换成 y = 5, 默认为不
 转换,为了达到更好的压缩效果,可以设置为false
*/
collapse_vars: true,

/*
 是否提取出现了多次但是没有定义成变量去引用的静态值,比如将 x = 'xxx'; y = 'xxx'  转换成
 var a = 'xxxx'; x = a; y = a; 默认为不转换,为了达到更好的压缩效果,可以设置为false
*/
reduce_vars: true
}
}
}),
]
}
ログイン後にコピー

3. 説明

test: 通常のルールを使用して、ParallelUglifyPlugin によって圧縮する必要があるファイルを照合します。デフォルトは次のとおりです。 /.js$ /.

  • include: 正規表現を使用して、ParallelUglifyPlugin によって圧縮されたファイルを含めます。デフォルトは [].

  • exclude:正規表現を使用してファイルを除外する ParallelUglifyPlugin によって圧縮されたファイル、デフォルトは [].

  • cacheDir: 圧縮結果をキャッシュします。次回同じ入力が発生したとき、圧縮結果は直接キャッシュされます。キャッシュから取得されて返されます。cacheDir

  • # は、キャッシュが保存されるディレクトリ パスを構成するために使用されます。デフォルトではキャッシュされませんので、キャッシュを有効にする場合はディレクトリパスを設定してください。

  • workerCount: 複数の子プロセスを開始して、圧縮を同時に実行します。デフォルトは、現在実行中のコンピュータの CPU コア数から 1 を引いた値です。

  • sourceMap: 圧縮コードに対応するソース マップを生成するかどうか。デフォルトでは生成されません。オンにすると、消費時間が大幅に増加します。一般的に、圧縮コードは

  • sourceMap は Web サイト ユーザーのブラウザに送信されません。

  • uglifyJS: ES5 コード、オブジェクト タイプを圧縮する際の構成に使用され、UglifyJS パラメーターに直接透過的に渡されます。

  • uglifyES: ES6 コードを圧縮する際の設定に使用され、オブジェクト タイプで、UglifyES のパラメータに直接透過的に渡されます。

  • 4. ParallelUglifyPlugin の実際の列には、以下のパラメータ設定項目があります:

    new ParallelUglifyPlugin({
      uglifyJS: {},
      test: /.js$/g,
      include: [],
      exclude: [],
      cacheDir: '',
      workerCount: '',
      sourceMap: false
    });
    ログイン後にコピー
  • 5. github アドレス (https://github.com/gdborton/webpack-Parallel) - uglify-plugin)

(3) terser-webpack-pluginWebpackでよく使われる3つのJS圧縮プラグインを詳しく解説

サポート:

babel7

, webpack4##欠点: 古いプロジェクトではサポートされていません (IOS10 と互換性がありません)

利点:

ParallelUglifyPlugin と同様に、複数のサブタスクが並列処理され、さらに効率が向上します。

  • webpack4 は誰かによって正式に推奨され、保守されています。

  • 使用:

  • npm install terser-webpack-plugin --save-dev
    ログイン後にコピー
    optimization: {
      minimize: true,
      minimizer: [
        new TerserPlugin({
          terserOptions: {
            ecma: 5,
            warnings: false,
            parse: {},
            compress: {},
            mangle: true, // Note `mangle.properties` is `false` by default.
            module: false,
            output: null,
            toplevel: false,
            nameCache: null,
            ie8: false,
            keep_fnames: false,
            safari10: true
          }
        })
      ]
    }
    ログイン後にコピー
    github アドレス: https://github.com/webpack-contrib/terser-webpack-plugin

    プログラミング関連の知識について詳しくは、

    プログラミング ビデオ

    をご覧ください。 ! Webpackでよく使われる3つのJS圧縮プラグインを詳しく解説

    以上がWebpackでよく使われる3つのJS圧縮プラグインを詳しく解説の詳細内容です。詳細については、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