インストール

モジュールをインストールします

  1. npm install @wordpress/lazy-import --save

このパッケージは、あなたのコードがES2015+環境で実行されることを前提としています。そのような言語機能やAPIのサポートが限られているか、まったくない環境を使用している場合は、コードに@wordpress/babel-preset-defaultに同梱されているポリフィルを含める必要があります。

要件

NPM 6.9.0以上が必要です。これは、同じパッケージの複数のバージョンを維持するためにパッケージエイリアス機能を使用するためです。

使用法

使用法は、NPMパッケージの名前(およびオプションのバージョンスペシファイア)を受け取り、必要なモジュールに解決されるプロミスを返す動的import関数の動作を模倣することを意図しています。

*注: 現在、このimportへの整合性は表面的なものであり、モジュール解決は依然としてCommonJS requireを使用しており、より新しいESモジュールサポートではありません。このパッケージの将来のバージョンは、フラグなしのESモジュールサポートを含むNode.jsのLTSリリースが利用可能になると、ESモジュールをサポートする可能性があります。*

lazyImportに渡される文字列は、npm installに提供するのと同じようにフォーマットできます。オプションのバージョンスペシファイア(バージョン範囲を含む)を含めることができます。バージョンスペシファイアが省略された場合、*と同等と見なされ、利用可能な場合はローカルにインストールされたパッケージのバージョンを使用し、そうでなければ最新の利用可能なバージョンをインストールします。

  1. const lazyImport = require( '@wordpress/lazy-import' );
  2. lazyImport( 'is-equal-shallow@^0.1.3' ).then( ( isEqualShallow ) => {
  3. console.log( isEqualShallow( { a: true, b: true }, { a: true, b: true } ) );
  4. // true
  5. } );

Node v14.3.0以上を使用している場合、トップレベルのawaitを利用してトップレベルのインポートを簡素化することもできます:

  1. const lazyImport = require( '@wordpress/lazy-import' );
  2. const isEqualShallow = await lazyImport( 'is-equal-shallow@^0.1.3' );
  3. console.log( isEqualShallow( { a: true, b: true }, { a: true, b: true } ) );
  4. // true
  1. ``````bash
  2. const lazyImport = require( '@wordpress/lazy-import' );
  3. function onInstall() {
  4. console.log( 'Installing…' );
  5. }
  6. lazyImport( 'fbjs@^1.0.0', {
  7. localPath: './lib/shallowEqual',
  8. onInstall,
  9. } ).then( /* ... */ );
  10. `
  1. ``````bash
  2. try {
  3. await lazyImport( 'is-equal-shallow@^0.1.3' );
  4. } catch ( error ) {
  5. if ( error.code === 'ENOTFOUND' ) {
  6. console.log( 'Unable to connect to NPM registry!' );
  7. }
  8. }
  9. `

オプション

localPath

  • タイプ: string
  • 必須: いいえ

他のスクリプトがmainをインポートする必要があるときに使用できるファイルまたはディレクトリを指すローカルパス。

onInstall

  • タイプ: Function
  • 必須: いいえ

モジュールがインストールされる場合に呼び出す関数。インストールはスクリプトの実行に遅延を引き起こす可能性があるため、ログ情報を出力したりスピナーを表示したりするのに役立ちます。

返されたプロミスが解決されると、インストールが完了したと見なすことができます。

このパッケージへの貢献

これはGutenbergプロジェクトの一部である個別のパッケージです。このプロジェクトはモノレポとして整理されています。特定の目的を持つ複数の自己完結型ソフトウェアパッケージで構成されています。このモノレポ内のパッケージはnpmに公開され、WordPressや他のソフトウェアプロジェクトで使用されています。

このパッケージやGutenberg全体への貢献について詳しく知りたい場合は、プロジェクトの主要な貢献者ガイドをお読みください。