问题标签 [hot-reload]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - 使用 Docker 在 React Native 中热重载不起作用
我正在尝试使用 Docker 容器在我的 Windows 10 机器上开始使用 React Native。我运行了一个应用程序,我通过 LAN 连接到它,但是当我更改代码时,它不会在我的设备上更改,即使我摇晃并按下重新加载也是如此。
我在我的 Android 手机上使用 Expo 客户端打开应用程序。该应用程序是由expo init
. 正如它所暗示的,我编辑了screens/HomeScreen.js
,但应用程序没有改变。我启用了实时重载和热重载。按下重新加载会重新加载应用程序,但它保持不变。当我cat
在容器内的文件时,它被更改了,恰好捆绑器没有接收到更改。
我有以下文件夹结构:
码头工人-compose.yml:
Dockerfile:
MyProject1 文件夹包含应用程序本身。
dart - 热重载后显示的值,但单击后为空
我想从 json 中检索数据,单击(形成另一个文件)后,所有值($tgl、$dokter、$paket 等)都为空,但是当我热重载时(在下面的代码中)结果是有并且有更正。
我的代码有什么问题?
javascript - 强制重新加载 Webpack 异步导入
我目前正在将大型遗留 jquery-only 代码库重构为 vue 单页应用程序。在这样做的过程中,我希望将我的工作分成可管理的块,在代码中保持大部分遗留代码库的原样,并慢慢地从中提取部分和部分以重构为 vue,使用事件总线作为中介。
但是,我遇到了问题,因为旧代码在导入时会产生副作用。这些副作用是由绑定到 HTML 的运行时 jquery 事件引起的,并且创建的对象和类实例环绕其他 HTML,因为它在导入时立即建立状态。这会导致 SPA 重构出现问题,因为我希望能够离开页面然后返回到它,但是 javascript 将保持缓存而不重新加载,现在缺少所有 HTML 和状态更新,因为 vue 将删除创建状态的 html 然后在重新渲染时添加新的 html。
我正在寻找这个问题的最佳解决方案,以使我不必重构代码两次——一次是使用 init 调用进行模块化导入,然后是反应式模块化 vue 范例。为此,我想弄清楚如何使用 Webpack 的异步块导入来重新加载代码块。我知道这是可能的,因为 webpack 对文件的热重载。我本质上想在访问某个路由时强制重新加载某些导入。
这就是我想要做的:
有没有一种有效的方法可以从客户那里做到这一点?
javascript - 内联导入导出组件在热重载时抛出错误
对于上下文,让我尝试多解释一下。
在我的项目中,我有一个文件夹,例如,用于组件。在该文件夹中,我有我的组件文件和一个 index.js 文件,我在其中导入所有组件并导出,而不是在同一行中,如下所示:
所以我可以像这样在屏幕组件中导入这些组件:
如果我编辑组件文件,保存并重新加载项目,一切正常。
问题是,当我在激活热模块替换(热重载)的情况下编辑任何这些组件时,当它在编辑后被触发时,它会引发以下错误:
未处理的 JS 异常:需要模块“src/components/index.js”,引发异常:TypeError:无法重新定义属性:按钮
有谁知道为什么会这样?
提前致谢!
Obs:当我直接导入组件而不使用 index.js 或者如果在 index.js 中,我首先导入组件,然后将组件分配给一个变量,然后导出这个变量,它工作正常。
javascript - 为什么将componentDidMount更改为非箭头函数会使热重载再次起作用?
对于我的 React Native 应用程序中的一个屏幕,热重载不起作用。我发现解决方案是改变这个
对此
所以我所做的只是componentDidMount
从箭头函数变为非箭头函数。所以我的问题是:
为什么将其更改为非箭头函数会使热重载再次起作用?我知道将其设为非箭头函数意味着如果从其他上下文调用该函数,则 的值this
将重新绑定到调用该函数的上下文,而使用箭头函数它将始终被绑定到定义它的组件。但这对热重载有何影响?热重载是否会导致componentDidMount
从不同的上下文中调用并this
重新绑定?如果是这样,这将如何影响热重载?
谢谢!
更新
一些用户询问这是否是(ES6 对象中的方法:使用箭头函数)或(箭头函数与函数声明/表达式:它们是否等效/可交换?)
这不是其中任何一个的副本。请注意,我确实概述了箭头函数和非箭头函数之间的区别。我的问题是这些差异如何特别适用于热重载。
emacs - 如何使用 emacs 编辑颤振项目?
INFO:我是一名 Emacs 用户,曾使用 react-native 开发移动应用程序。
描述
最近在尝试开发一个flutter app,卡住了hot-reload
部分,希望flutter能在我修改的时候自动重新加载lib/*dart
。
我正在考虑的是观察lib/*dart
' 的修改,当它发生时,将 ar
自动传递给颤振过程。
我怎样才能达到这个flutter run
过程?
解决方案
Emacs 解决方案
在一遍又一遍地阅读Hot reload on save之后,我更新了 Emacs 的配置文件:
这很简单,我简直不敢相信……杀死flutter run
进程,它会在通过我们的 shell 脚本kill -SIGUSR1
向进程发送信号后自动重新加载。flutter run
谢谢@pskink,我已经把我的大脑再试了一次,然后,问题已经解决了。
我再次检查了描述,命令描述为:linux signal
kill
向指定进程、指定进程组的所有成员或系统上的所有进程发送信号。
不仅仅是粗鲁地杀死进程......这是kill
命令行中的描述:
然而,flutter--pid-file
的flag是这样描述的:
指定要写入进程 ID 的文件。您可以发送 SIGUSR1 来触发热重载,发送 SIGUSR2 来触发热重启。
我们kill -SIGUSR1 $(cat /tmp/flutter.pid)
,当我们向 发送信号SIGURS1
时flutter process
,就发生了这样的事情。
我仍然想知道,我们是否可以将一个发送r
到流程的“屏幕” flutter run
?
javascript - AngularJS + webpack 热模块替换忽略 app.controllers 中的变化
我已经在我的 AngularJS 1.7.2 项目中实现了 Webpack HMR。如果我更改 .js 文件中的某些内容并保存,我会在不刷新的情况下进行热更新。
但是,app.controller
AngularJS 下的所有内容或其他任何内容都不起作用。
例如:
这是 webpack.config.js 文件:
我也想提供 webpack.entry.js 文件:
visual-studio-code - VS Code(OSX)Flutter热重载不是由保存触发的
将 VS Code 版本升级到 1.32.1 后,保存/自动保存不会触发自动热重载。它以前就像一个魅力。
通过按下热重载按钮,热重载仍然有效。
根据 Flutter 医生的说法,Flutter 似乎还可以:
你有同样的经历吗?你有什么建议可以解决吗?