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におけるローダー(loader)とは

Posted at

はじめに

Webpackにおける**ローダー(loader)**は、モジュールの内容を変換するためのプログラムです。
ローダーは特定のファイルタイプに対して実行され、ファイルを変換して、アプリケーションの依存関係として使用できる形式にします。
ローダーを使用することで、JavaScript以外のリソース(CSS、画像、HTMLテンプレートなど)をバンドルに含めることができる。

ローダーの役割

ローダーは、ソースコードをWebpackが理解できるモジュールに変換する役割を担う。

JavaScriptのトランスパイル:ES6やTypeScriptのコードを、古いブラウザでも動作するようにES5に変換する。
CSSの処理:SassやLESSのようなプリプロセッサのコードを標準的なCSSに変換する。
画像やフォントの処理:画像やフォントファイルを適切なURLに変換し、アプリケーションで使用できるようにする。

主要なローダーの例

Babel Loader

Babelは、最新のJavaScriptコードを後方互換性のあるバージョンに変換するためのツールです。Babel Loaderは、WebpackとBabelを連携させるために使用されます。

{
  test: /\.(js|jsx)$/i,
  loader: "babel-loader",
}

CSS Loader と Style Loader

CSS Loaderは、CSSファイルをJavaScriptモジュールとしてインポートできるようにします。
Style Loaderは、インポートされたCSSをHTMLのstyleタグに注入します。

{
  test: /\.css$/i,
  use: ["style-loader", "css-loader"],
}

Vue Loader

Vue Loaderは、.vueファイル(シングルファイルコンポーネント)を処理するためのローダーです。これにより、HTML、JavaScript、CSSを一つのファイルにまとめて使用できます。

{
  test: /\.vue$/,
  loader: "vue-loader",
}

Sass Loader

Sass Loaderは、Sass/SCSSファイルをCSSに変換するローダーです。sass-loaderの他にcss-loaderとstyle-loaderも使用されます。

{
  test: /\.s[ac]ss$/i,
  use: [
    "style-loader",
    "css-loader",
    "sass-loader",
    {
      loader: "sass-resources-loader",
      options: {
        resources: [path.resolve(__dirname, "./src/scss/mixin.scss")],
      },
    },
  ],
}

File Loader

File Loaderは、画像やフォントなどのファイルを処理し、適切なURLに変換します。

{
  test: /\.(png|jpe?g|gif)$/i,
  use: [
    {
      loader: "file-loader",
    },
  ],
}

ローダーの設定方法

ローダーは、Webpackの設定ファイル(webpack.config.js)のmodule.rulesセクションに定義します。各ローダーは、処理するファイルタイプ(test)と使用するローダー(loaderまたはuse)を指定します。

まとめ

ローダーは、Webpackが様々なファイルタイプを処理し、アプリケーションに統合できるようにするための重要な機能です。
これにより、開発者は最新のJavaScript機能やスタイルプリプロセッサを利用しつつ、ブラウザ互換性やパフォーマンスを確保できます。

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?