CC 4.0 ライセンス

このセクションの内容は、以下のリンクの内容から派生しており、CC BY 4.0 ライセンスに従います。

特に明記されていない限り、以下の内容は、元の内容に基づいて修正および削除を行った結果であると見なすことができます。

ローダーコンテキスト

ローダーコンテキストは、thisプロパティに割り当てられたローダー内で利用可能なプロパティを表します。

this.addContextDependency()

function addContextDependency(directory: string): void;

ディレクトリ内のファイルへの変更をリッスンできるように、ディレクトリをローダーの結果の依存関係として追加します。

this.addDependency()

function addDependency(file: string): void;

ファイルへの変更をリッスンできるように、ファイルをローダーの結果の依存関係として追加します。たとえば、sass-loaderless-loaderは、インポートされたスタイルファイルが変更されたときに再コンパイルするためにこのトリックを使用します。

this.dependency()

function dependency(file: string): void;

this.addDependency()のエイリアス。

this.addMissingDependency()

function addMissingDependency(file: string): void;

リッスンできるように、存在しないファイルをローダーの結果の依存関係として追加します。

this.async()

このローダーが非同期で呼び出されることをRspackに伝えます。this.callbackを返します。

this.cacheable()

キャッシュ可能フラグを設定する関数

function cacheable(flag: boolean = true): void;

デフォルトでは、ローダーの処理結果はキャッシュ可能としてマークされます。このメソッドを呼び出してfalseを渡すと、ローダーの処理結果をキャッシュする機能が無効になります。

this.callback()

function callback(
  err: Error | null,
  content: string | Buffer,
  sourceMap?: SourceMap,
  meta?: any,
): void;

複数の結果を返すために、同期または非同期で呼び出すことができる関数。予期される引数は次のとおりです

  1. 最初のパラメーターはErrorまたはnullである必要があり、現在のモジュールをコンパイルエラーとしてマークします。
  2. 2番目の引数はstringまたはBufferで、ローダーによってモジュールが処理された後のファイルの内容を示します。
  3. 3番目のパラメーターは、ローダーで処理できるソースマップです。
  4. 4番目のパラメーターはRspackによって無視され、任意の値(例:一部のメタデータ)を指定できます。
警告

この関数が呼び出された場合は、あいまいなローダーの結果を避けるために、undefinedを返す必要があります。

this.callbackに渡された値は、チェーン内の次のローダーに渡されます。sourceMapおよびmetaパラメーターはオプションです。渡されない場合、次のローダーはそれらを受け取りません。

this.clearDependencies()

function clearDependencies(): void;

ローダーの結果のすべての依存関係を削除します。

this.context

現在のモジュールがあるディレクトリ。

this.data

ピッチフェーズと通常フェーズの間で共有されるデータオブジェクト。

this.emitError()

function emitError(error: Error): void;

エラーを発生させます。ローダーでのthrowthis.callback(err)とは異なり、現在のモジュールをコンパイルエラーとしてマークするのではなく、Rspackのコンパイルにエラーを追加し、このコンパイルの最後にコマンドラインに表示します。

this.emitWarning(warning: Error)

function emitWarning(warning: Error): void;

警告を発生させます。

this.emitFile()

function emitFile(
  name: string,
  content: Buffer | string,
  sourceMap: SourceMap,
): void;

ファイルを生成します。

this.getOptions(schema)

オプションのJSONスキーマを引数として受け入れ、指定されたローダーオプションを抽出します。

this.getResolve()

function getResolve(options: ResolveOptions): resolve;

this.resolveのようなリゾルバーを作成します。

this.resolve()

function resolve(
  context: string,
  request: string,
  callback: (err: Error | null, result: string) => void,
): void;

リクエストを解決します。

  • contextは、ディレクトリへの絶対パスである必要があります。このディレクトリは、解決の開始場所として使用されます。
  • requestは、解決されるリクエストです。
  • callbackは、解決されたパスを提供するコールバック関数です。

this.mode

Rspackの実行時にmodeの値が読み取られます。

指定できる値は、'production''development''none'です

this.target

Rspackの実行時にtargetの値が読み取られます。

this.resource

現在のモジュールのパス文字列。例:'/abc/resource.js?query#hash'

this.resourcePath

クエリとフラグメントパラメーターを除いた現在のモジュールのパス文字列。たとえば、'/abc/resource.js?query#hash'では'/abc/resource.js'

this.resourceQuery

現在のモジュールのパス文字列のクエリパラメーター。たとえば、'/abc/resource.js?query#hash'では'?query'

this.resourceFragment

現在のモジュールのパス文字列のフラグメントパラメーター。たとえば、'/abc/resource.js?query#hash'では'#hash'

this.rootContext

設定でプロジェクトが構成されているディレクトリ

this.sourceMap

ソースマップを生成するかどうか。

this.getLogger()

function getLogger(name?: string): void;

このコンパイルのロガーを取得します。メッセージをログに記録できます。