【发布时间】:2014-09-19 13:17:51
【问题描述】:
我最近实现了 live editing for React components,因此您可以编辑他们的标记和代码并在浏览器中显示更改,而无需重新加载或丢弃状态:
它工作在 Webpack Hot Module Replacement 之上(就像每个模块的 LiveReload),它修补组件的原型并强制重新渲染,React 可以优雅地完成,只更新更改的零件。
在我的理解中,只有当 UI 框架具有以下特点时,才能进行实时编辑 JS:
- 其组件以可重用组件的形式鼓励模块化;
- DOM 不会在更新时被丢弃;
- 视图具有确定的生命周期,可以要求重新渲染。
除了 React 之外,还有其他 JS 框架可以满足这些要求吗?
在多大程度上可以实现 Angular、Meteor、Mithril 等的代码实时重载?
(依赖于 fb-flo 或 Light Table 等浏览器插件或作为调试器连接到 Chrome 的 Live JS Reload 超出了此问题的范围。我想知道纯 JS 解决方案.)
【问题讨论】:
-
不确定是否使用任何框架,但可以使用括号 IDE 实时编辑。
-
@Ashok:我澄清了这个问题:我想知道不依赖浏览器插件并且不作为远程调试器连接的纯 JS 解决方案。
-
@Dan Meteor 0.9 允许这种行为
-
@Dan 他们仍在研究它,但他们已经对其进行了演示。如果您能够使用流星的 github 开发版本,您也许可以使用它。在此视频中进行了演示:youtube.com/watch?v=NBp72NFzHL0
-
@Dan 他们在视频中提到它将可用于模板、js 和其他客户端资产@2:03(即不刷新页面,只是为了清楚),它也是大约在 2:04 用模板演示
标签: javascript javascript-framework reactjs livereload