2017-05-10 11 views
4

NPMパッケージにprepackを使用しますが、require is not definedmodule is not definedのようなエラーが発生します。PrepackのNode.js関数とプロパティを正しく定義する方法は?

私のようなこの変数を定義しようとしました:

__assumeDataProperty(global, 'require', __abstract('function')) 

をしかし、私はどのように私は正しくprepackためNode.jsグローバル関数とプロパティを定義することができ、エラーunknown reference type

を取得?

答えて

0

TLDR;しかし、それだけでNode 7.9に利用可能である今のようnode-cli

$ prepack sourcefile.js --compatibility node-cli 

互換モードを使用します。

は、ここでそのための説明です:

あなたはそれを返す何今関数であるが、必要とプレパックを通知してきた__abstract('function')としてrequireを宣言します。環境を正しくモデリングすると、requireが返すものを正しく宣言する必要があることを意味します。しかし、あなたが推測しているように、これは簡単ではありません。すべてのrequireコールは、必要なモジュールに応じて別のオブジェクトを返します。

これは基本的には、モジュールの読み込み機構全体を辿って、すべての要求によって返されているオブジェクトの形状を正確に把握しなければならないことを意味します。this commit does。しかし、PRはそれ自体で完全な機能よりPoCのほうが多いので、リリース間で変更される傾向のあるNodeのプライベートAPIの一部を使用しなければなりませんでした。したがって、この実験的な機能は現在ノード7.9でのみ利用可能です。

希望します。

関連する問題