포장업자


Packager
Parcel에서 Packager는 여러 자산을 최종 출력 파일 패키지로 병합합니다. 이는 모든 리소스가 처리되고 패키지 파일 트리가 생성된 후 기본 프로세스에서 발생합니다. 패키저는 출력 파일 형식을 기반으로 등록되며, 해당 출력 형식을 생성한 리소스는 최종 출력 파일을 생성하기 위해 패키저로 전송됩니다.
Packager 인터페이스

const {Packager} = require('parcel-bundler');
class MyPackager extends Packager {
  async start() {
    // 可选。写文件头部内容。
    await this.dest.write(header);
  }
  async addAsset(asset) {
    // 必须。将资源写入生成文件。
    await this.dest.write(asset.generated.foo);
  }
  async end() {
    // 可选。写文件尾内部内容。
    await this.dest.end(trailer);
  }
}

Packager 등록
addPackager 메소드를 사용하면 패키징 도구를 사용하여 패키저(Packager)를 등록할 수 있습니다. 등록할 파일 형식과 패키저 모듈의 경로를 허용합니다.

const Bundler = require('parcel-bundler');
let bundler = new Bundler('input.js');
bundler.addPackager('foo', require.resolve('./MyPackager'));