私はwebpackバージョン4のプラグインに取り組んでいます、そして私はにアクセスしようとしていますパーサー 入力ファイルのいくつかの前処理を行いますが、新しいTapable APIの「ドキュメント」とパーサーへのアクセス方法を追うのは本当に大変です。
これまでのところ私はこれを持っています:
const MY_PLUGIN_NAME = "FooPlugin";
function Plugin() {
}
Plugin.prototype.apply = function(compiler) {
compiler.hooks.normalModuleFactory.tap(MY_PLUGIN_NAME, function(factory) {
console.log('Got my factory here ', factory); // This is invoked as expected.
factory.hooks.parser.tap("varDeclaration", MY_PLUGIN_NAME, function() {
console.log('parser varDeclaration', arguments); // This is the line that's never invoked
}
}
}
私は他のさまざまなパラメーターを
parser.tap
に試しました機能、何も助けていないようです。パーサーのフックにアクセスする方法に何か問題がありますか?
UseStrictPlugin
からインスピレーションを得る 、パーサーに接続してuse strict;
を追加します ステートメント。