問題タブ [tree-shaking]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
webpack - ツリーの揺れが機能しない - webpack 4 および uglifyjs-webpack-plugin
Webpack ドキュメントに従って、UglifyJSPlugin を Webpack 4 プロジェクトに追加しようとしましたが、まだデッド コードが表示され、バンドル内にコメントが表示されているため、uglify プラグイン構成が使用されていないと思います。
ドキュメントには、「ツリー シェーキングを利用するには、次のことが必要です...
- ES2015 モジュール構文を使用します (つまり、インポートとエクスポート)。完了
- プロジェクトの package.json ファイルに「sideEffects」エントリを追加します。完了.
-デッド コードの削除をサポートするミニファイアを含めます (UglifyJSPlugin など)。" 終わり
それでも、未使用/未インポートの leftpad 関数とコメントは私のバンドルに含まれています。
すべての設定はここで見ることができます。私が見ている結果に基づいて、これは私の webpack 構成のuglify 設定に関連していると思われます。
再現するには、リポジトリをプルして実行しますyarn build
angular - angular cliアプリでのツリーシェイクモナコエディター
angular アプリで monaco-editor (vscode エディター) を使用したいと考えています。彼らのドキュメントで、このプロジェクトをツリー シェーキングで効率的にロードするための推奨される方法は、コミュニティの webpack プラグインである monaco-editor-webpack-plugin を使用することであることに気付きました。
残念ながら、これは、私がやりたいことではない角度のある webpack 構成を取り出さないと不可能です。
また、amd のバージョンが 2MB であることにも気付きました。これは Web アプリとしては膨大です。
monaco-editor (tree-shaking) で実際に使用されているソース コードのみをコンパイルしてバンドルする angular cli を使用する方法はありますか?
angular6を使用しています。
ありがとう。