
- 0133技术站
- 联系QQ:18840023
- QQ交流群
- 微信公众号

parser 实例,是用来解析由 webpack 处理过的每个模块。parser 也是扩展自 tapable 的 webpack 类,并且提供多种 tapable 钩子,插件作者可以使用它来自定义解析过程。
以下示例中,parser 位于 这个normalModuleFactory 中,因此需要调用额外钩子来进行获取:
compiler.hooks.normalModuleFactory.tap(factory => {
factory.hooks.parser.tap((parser, options) => {
parser.hooks.someHook.tap(...)
})
})和 compiler 用法相同,取决于不同的钩子类型,也可以在某些钩子上访问 tapAsync 和 tapPromise。
以下生命周期钩子函数,是由 parser 暴露,可以通过如下方式访问:
SyncBailHook
取值标识符(identifier)的类型。(译注:取值(evaluate)是一个动词,表示对参数进行求值并返回)
参数:expression
SyncBailHook
取值一个表达式(expression)
参数:expression
SyncBailHook
取值一个自由变量标识符。
参数:expression
SyncBailHook
取值一个定义变量标识符。
参数:expression
SyncBailHook
进行一次「成功取值表达式的成员函数(member function of a successfully evaluated expression)」调用取值。
参数:expression param
SyncBailHook
通用钩子,在从代码片段中解析语句时调用。
参数:statement
SyncBailHook
...
参数:statement
SyncBailHook
...
参数:statement
SyncBailHook
...
参数:statement source
SyncBailHook
...
参数:statement source exportName identifierName
SyncBailHook
...
参数:statement
SyncBailHook
...
参数:statement source
SyncBailHook
...
参数:statement declaration
SyncBailHook
...
参数:statement declaration
SyncBailHook
...
参数:statement identifierName exportName index
SyncBailHook
...
参数:statement source identifierName exportName index
SyncBailHook
...
参数:declaration
SyncBailHook
...
参数:declaration
SyncBailHook
...
参数:declaration
SyncBailHook
...
参数:declaration
SyncBailHook
...
参数:initExpression
SyncBailHook
...
参数:initExpression
SyncBailHook
...
参数:expression
SyncBailHook
...
参数:expression
SyncBailHook
...
参数:expression
SyncBailHook
...
参数:expression
SyncBailHook
...
参数:expression
SyncBailHook
...
参数:expression
SyncBailHook
...
参数:expression
SyncBailHook
...
参数:expression
SyncBailHook
...
参数:expression
SyncBailHook
访问代码片段的抽象语法树(abstract syntax tree - AST)
参数:ast comments
推荐手册