【问题标题】:Trigger script on React hot refresh or after file creation在 React 热刷新或文件创建后触发脚本
【发布时间】:2021-04-08 14:35:32
【问题描述】:

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

提前致谢!

【问题讨论】:

    标签: javascript node.js reactjs create-react-app


    【解决方案1】:

    你可以使用chokidar,通过这个库你可以为某个路径设置一个监听器,它会为你设置的事件调用一个监听器,例如

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

    希望对你有用!

    【讨论】:

    • 嘿伙计,谢谢!这正是我一直在寻找的!我已经考虑过使用 TypeScript 编译器 API 或弹出,但由于某种原因我没有想到。谢谢
    • 很高兴!
    猜你喜欢
    • 1970-01-01
    • 2012-03-14
    • 2018-11-26
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多