ホームページ > ウェブフロントエンド > jsチュートリアル > 開発ツールは必要ありません

開発ツールは必要ありません

PHPz
リリース: 2024-09-07 06:31:02
オリジナル
909 人が閲覧しました

Devtool is not necessary

私は数か月前、フロントエンド プロジェクトに取り組んでいました。このプロジェクトは、従来のダッシュボードに統合されることを目的としたマイクロフロントエンドでした。

マイクロフロントエンド アプローチの理由は、ダッシュボードの複雑さを軽減することでした。私はこの挑戦に興奮し、それに取り組みました。

webpack、react、typescript を使用してマイクロフロントエンドをセットアップしました。 CSS-IN-JS フレームワークとして Chakra ui を使用し、API 統合に axios を使用しましたが、すべてうまくいきました。ただし、プロジェクトのビルド サイズは約 14 MB でした。マイクロフロントエンドとしては、これは途方もなく大規模でした。これにより、統合されているダッシュボードでのページの応答が非常に遅くなりました。そこで私は、ビルドを最適化するという新たな課題に直面しました。

スタイリングに CSS-IN-JS フレームワークを使用したため、ビルドがそれほど大きくなったと思いました。そこで、chakra-ui から sass までコードベース全体をリファクタリングしました。なんと、ビルド サイズが 14MB から約 21MB に増加したのです。

そのとき、問題は CSS ライブラリやコードに関するものではなく、Webpack 構成に関するものであることがわかりました。 Webpack の設定について多くの試行錯誤を開始しました。その後、devtool を削除すると、ビルド サイズが 14mb から約 600kb に増加したことがわかりました。次に、devtool に関する Webpack ドキュメントを確認しました。強制ではないことに気づきました。詳細はこちら:.

これが私の Webpack 構成の一部です

module.exports = merge(common, {
  name: "client",
  mode: process.env.NODE_ENV,
  devtool: "eval-source-map", //remove devtool
  entry: {
    "microfrontend": "./src/bootstrap.tsx",
  },
  output: {
    path: path.resolve(__dirname, "../dist"),
    filename: "[name]_[hash].js",
    pathinfo: false,
    publicPath: 'http://localhost:6001/',
  },
  ...
}
ログイン後にコピー

要約すると、私が遭遇した問題の解決策は、コードを 1 行削除するだけで修正されました。

module.exports = merge(common, {
  name: "client",
  mode: process.env.NODE_ENV,
  entry: {
    "microfrontend": "./src/bootstrap.tsx",
  },
  output: {
    path: path.resolve(__dirname, "../dist"),
    filename: "[name]_[hash].js",
    pathinfo: false,
    publicPath: 'http://localhost:6001/',
  },
  ...
}
ログイン後にコピー

読んでいただきありがとうございます。これがお役に立てば幸いです。

以上が開発ツールは必要ありませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート