React热刷新或文件创建后触发脚本



我正试图为我的当前项目添加一些代码生成,为了实现这一点,我想在每次更改后,就在React重新编译和热重新加载之前,触发一个节点脚本,这样这个脚本就可以检查某些文件是否已更改并生成输出,所以React可以在考虑到这个输出的情况下重新编译。

我的问题是这可能吗?如果是,我该如何实现它?

例如,我已经有文件

export default class A extends Component {
constructor(props){
this.name = "A"          
}    
}

并且我已经生成了文件

export default class Generated {
getComponent(name){
if(name==="A") return new A();
}
}

现在我添加文件

export default class B extends Component {
constructor(props){
this.name = "B"          
}    
}

我想触发我的代码生成脚本,所以它会像这样改变Generated类:

export default class Generated {
getComponent(name){
if(name==="A") return new A();
else if(name==="B") return new B();
}
}

提前感谢!

您可以使用chokidar,使用此库,您可以为特定路径设置一个观察程序,它将为您设置的事件调用一个侦听程序,例如

chokidar.watch(YOUR_PATH, OPTIONAL_OPTIONS)
.on('add', YOUR_LISTENER)
.on('change', YOUR_LISTENER)
.on('unlink', YOUR_LISTENER)

我希望它对你有用!

最新更新