javascript - 在 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)
我希望它对你有用!
推荐阅读
- python - 如何将python代码字符转换为人类可读的代码
- recursion - 无法理解为什么 prolog 无限循环
- cmd - 在管道之后保留 doskey 上下文,或者,和
- charts - Charts McRouter - 如何修改内存和 CPU 等内存缓存资源
- python - 附加到python中的空列表时出错
- database - 如何判断一个实体是属性还是资源?
- react-native - React Native 生命周期和重启
- c - kill() 函数在 C 语言中不起作用
- angular - Angular 项目未在 IE(10,11 和 Edge)上显示
- vb.net - 部署 Outlook 加载项 - 无资源/图像