0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Webpackについてまとめる

Last updated at Posted at 2025-03-29

TypeScript、React、Nextを使ったWebアプリケーションに関して、
本番環境でWebpack周りのエラーが発生したので、これを機にWebpackについて勉強してみる

2025/3/29
メモ程度に作ったやつなので、参考にならない可能性高いです。
他の方が作成してくれた参考になる記事はこちら

Webpackって何?(ざっくり)

  • 複数のJavaScriptファイルを一つのファイルにまとめるツールのこと
  • バンドル
    • 一つのファイルにまとめること
  • モジュールハンドラ
    • モジュールを一つのファイルにまとめて出力するツールのこと

Webpackがあると何が嬉しい?

複数のJavaScriptを一つにまとめることで、ブラウザからのリクエスト数を減らし、ファイル転送の最適化が可能となる
つまり、Webpackがあると、以下のことができる

  • 開発時は機能をファイルごとに分割することができる
  • 実行時は一つのファイルとしてブラウザに提供することができる

TypeScriptを使ってバンドルしてみる

1 必要なパッケージをインストールする

npm install --save-dev babel-loader @babel/core @babel/preset-env @babel/preset-react @babel/preset-typescript

2 webpack.config.jsの設定をする

webpack.config.js
const path = require('path');

module.exports = {
  mode: 'development', // または 'production'
  entry: './src/index.tsx', // 適切なエントリーファイルを設定してください
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
  resolve: {
    extensions: ['.ts', '.tsx', '.js', '.jsx'],
    alias: {
      '@': path.resolve(__dirname, 'src'),  // 適切なエイリアスを設定してください
    },
  },
  module: {
    rules: [
      {
        test: /\.tsx?$/,
        exclude: /node_modules/,
        use: 'ts-loader',
      },
    ],
  },
};

3 バンドルしてみる

npx webpack
  1. バンドルすると、以下のファイルが出来上がる
├── dist
│   └── bundle.js
├── node_modules
├── package.json
├── src
│   ├── app
|        ├── page.tsx

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?