me-module-webpack-plugin
Version:
Me Module webpack plugin
28 lines (22 loc) • 878 B
JavaScript
import {getMeModuleInstance, destroyInstance} from 'me-module-utils';
const PLUGIN_NAME = 'MeModulePlugin';
export default class MeModulePlugin {
constructor({depFiles = []}) {
this.depFiles = depFiles;
}
apply(compiler) {
compiler.hooks.emit.tap(PLUGIN_NAME, compilation => {
// 把 `app.js` `require.js` 添加进监听文件中
// 这两个文件描述了模块之间依赖关系
// 依赖关系变了,需要全部重新分析
this.depFiles.forEach(file => compilation.fileDependencies.add(file));
});
compiler.hooks.watchRun.tap(PLUGIN_NAME, compilation => {
if (!global.meModules) return;
destroyInstance();
getMeModuleInstance();
// global.meModules = null;
// global.getMeModulesInstance();
});
}
};