在WebStorm中运行Dart Web应用程序时," Pub Serve"标签上?底部的窗格报告以下内容(--port
与运行不同):
/home/tom/dart-sdk/bin/pub serve web --port=46247
Loading source assets...
Loading polymer transformers...
Serving polymer_and_dart web on http://localhost:46247
但是,该应用可在http://localhost:63342
访问。
然而,当我从命令行运行pub serve
时,可以通过localhost:46247
访问该应用:
/home/tom/dart-sdk/bin/pub serve web --port=46247
有人可以解释一下WebStorm在指定端口正在做什么,如果它不是为应用程序提供服务的话吗?
顺便说一句,我在开发中只使用Dartium。答案 0 :(得分:2)
WebStorm有一个集成代理,可以侦听自己的端口,只转发到正在侦听的端口pub serve
。
pub serve
将在Dart 2中删除。
目前4/2018没有pub run build_runner serve
与IntelliJ的集成,但它正在进行中。
答案 1 :(得分:2)
Webstorm 2018.1似乎做了一些与代理有点不同的事情。 Webstorm在调试端口运行Web服务器,当收到GET http://localhost:{{debugPort}}/web/web/{{targetPage}}
时,它将使用302重定向进行响应。重定向的Location标头将引用Dart Web应用程序中目标页面的实际位置。
如果您需要在开发期间以编程方式获取随机端口,可以在Webstorm调试器设置中启用“允许未签名的请求”,然后编写一些脚手架代码以获取Location标头。