WebStorm "Before Launch" – 等待完成
WebStorm "Before Launch" – Wait for completion
我正在尝试设置这个(有点荒谬)堆栈:
- 捆绑器:Webpack
- 库:ReactJS
- 语言:TypeScript + JSX (tsx)
- IDE: WebStorm
现在,一切正常,直到我意识到我的应用程序没有被 WebStorm 编译,除非我在 运行 应用程序之前手动 运行 webpack
命令.
接下来我尝试将 Run/Debug 配置(JavaScript 调试)编辑为 运行 webpack
作为外部工具“Before 启动”。请注意“之前”。
这一切也都很好,直到我 然后 意识到 WebStorm 是异步的 starting webpack
和 运行启动后立即启动应用程序,这意味着 none 自上次编译以来的更改已保存(因为 webpack
在应用程序 运行 之前没有时间完成编译)!
"Simple",天真的自己想,"all I must do is toggle the 'Wait For Completion' checkbox, which surely must exist!" 但一如既往,事实并非如此。我找不到这样的复选框。
~30 分钟和几个脑细胞后,我到了。现在,问题是:
如何让我的 Webpack 应用程序在 之前被编译 运行 在 WebStorm 中?
目前我已经尝试过的:
- 将
webpack
命令添加到我的 Run/Debug 配置的 "Before launch" 部分。如上所述,WebStorm 在 运行 应用程序之前不会等待它完成,导致以前的版本变为 运行。
- 将 NPM
build
脚本配置为简单 运行 webpack
,然后将 that 添加到 "Before launch" 部分。同样的问题。现在我开始怀疑 "Before launch" 部分中的 anything 是否同步 运行...
到目前为止我还没有尝试过什么(以及为什么):
- 创建自定义 NPM
run
脚本,然后 运行s webpack
启动调试器。这远非理想,因为(据我所知)使用 WebStorm 调试器很难做到这一点。
- 每次调试前手动运行宁
webpack
。好吧,我已经尝试过了并且有效;但我希望很清楚为什么这不是一个好的长期解决方案。
- 在我的 HTML 中手动包含每个脚本。随着应用程序的增长,我可能有更多的脚本,我不期待将每个脚本手动添加到HTML,这样我就可以更轻松地调试它们。
我对任何解决方案持开放态度,包括那些建议替代 Webpack 的解决方案(但 WebStorm、ReactJS 或 Typescript 的任何替代方案都必须真的很好,因为我已经花了很多心思来挑选它们)。
这是一个已知问题,请关注 WEB-21022 以获取更新。问题并非特定于 webpack,唯一的解决方法是在启动应用程序之前手动 运行ning webpack(通过 运行 配置或外部工具)。请注意,我无法在调试时重新创建它,只能在 运行 应用程序
时重新创建
我正在尝试设置这个(有点荒谬)堆栈:
- 捆绑器:Webpack
- 库:ReactJS
- 语言:TypeScript + JSX (tsx)
- IDE: WebStorm
现在,一切正常,直到我意识到我的应用程序没有被 WebStorm 编译,除非我在 运行 应用程序之前手动 运行 webpack
命令.
接下来我尝试将 Run/Debug 配置(JavaScript 调试)编辑为 运行 webpack
作为外部工具“Before 启动”。请注意“之前”。
这一切也都很好,直到我 然后 意识到 WebStorm 是异步的 starting webpack
和 运行启动后立即启动应用程序,这意味着 none 自上次编译以来的更改已保存(因为 webpack
在应用程序 运行 之前没有时间完成编译)!
"Simple",天真的自己想,"all I must do is toggle the 'Wait For Completion' checkbox, which surely must exist!" 但一如既往,事实并非如此。我找不到这样的复选框。
~30 分钟和几个脑细胞后,我到了。现在,问题是:
如何让我的 Webpack 应用程序在 之前被编译 运行 在 WebStorm 中?
目前我已经尝试过的:
- 将
webpack
命令添加到我的 Run/Debug 配置的 "Before launch" 部分。如上所述,WebStorm 在 运行 应用程序之前不会等待它完成,导致以前的版本变为 运行。 - 将 NPM
build
脚本配置为简单 运行webpack
,然后将 that 添加到 "Before launch" 部分。同样的问题。现在我开始怀疑 "Before launch" 部分中的 anything 是否同步 运行...
到目前为止我还没有尝试过什么(以及为什么):
- 创建自定义 NPM
run
脚本,然后 运行swebpack
启动调试器。这远非理想,因为(据我所知)使用 WebStorm 调试器很难做到这一点。 - 每次调试前手动运行宁
webpack
。好吧,我已经尝试过了并且有效;但我希望很清楚为什么这不是一个好的长期解决方案。 - 在我的 HTML 中手动包含每个脚本。随着应用程序的增长,我可能有更多的脚本,我不期待将每个脚本手动添加到HTML,这样我就可以更轻松地调试它们。
我对任何解决方案持开放态度,包括那些建议替代 Webpack 的解决方案(但 WebStorm、ReactJS 或 Typescript 的任何替代方案都必须真的很好,因为我已经花了很多心思来挑选它们)。
这是一个已知问题,请关注 WEB-21022 以获取更新。问题并非特定于 webpack,唯一的解决方法是在启动应用程序之前手动 运行ning webpack(通过 运行 配置或外部工具)。请注意,我无法在调试时重新创建它,只能在 运行 应用程序
时重新创建