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

Trigger script on React hot refresh or after file creation

我正在尝试为我当前的项目添加一些代码生成,并且为了实现这个我想在每次更改后触发一个节点脚本,就在 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"          
  }    
}

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

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)

希望对你有用!