【发布时间】:2019-08-09 08:31:08
【问题描述】:
我正在使用 Google Dart SDK 2.2 版开发一个 Web 项目,并使用 PhpStorm 作为我的 IDE。该项目的目的是从一个index.php 文件开始,该文件执行一些初步的服务器端工作,最后是对include('project1.html'); 的调用,它将html 文件下载到客户端并在最后包含<script defer src="project1.dart.js"></script>。我正在尝试找出最佳的开发设置。我在开发机器上安装了 php 并包含在路径中。
我发现从终端调用webdev serve 将项目服务于http://localhost:8080,但显示Could not find web/index.html 而不是project1.html 的预期渲染。所以我猜webdev服务器不处理.php文件?
另一种方法是右键单击index.php 文件并选择run in browser。这将打开一个显示 index.php 文件文本的 Chrome 页面。所以我猜想再次没有处理php。
另一种方法是使用默认设置设置 javascript 调试配置并单击绿色调试图标。这确实会产生正确的project1.index 输出,并且index.php 已被正确处理。但是,我无法让断点工作,Chrome Dev Console 中的错误是指build 目录中的project1.dart.js 文件。
我尝试的另一种方法是使用 Xampp 服务器来提供文件。在这种情况下,我有许多项目,并在xampp/htdocs 下设置每个项目,即xampp/htdcos/project1 等。在 PhpStorm 中,我设置了一个本地或安装的服务器:
- 文件夹
C:\xampp\htdocs\project1, - 网络服务器根地址
http://localhost/project1, - 指向我项目的
web子目录的本地路径,并且 - 部署和网络路径都设置为
\。
PhpStorm 似乎工作正常,但断点再次不起作用,调试错误消息没有引用 dart 文件。
非常欢迎任何帮助。我正在尝试使用此设置(即从 index.php 文件开始)做的事情是否可行?
** 编辑 **
根据以下建议,我在 httpd-vhosts.conf 文件中添加了以下内容:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/project1"
ServerName localhost
ProxyPreserveHost On
ProxyRequests Off
ProxyPassMatch ^/(.*\.js)$ http://localhost:8080/$1
</VirtualHost>
然后我将我的 .php 文件和 MySql 保存在 Xampp 上,而 javascript 由 webdev serve 提供服务。
但是,我有同样的问题,即 PhpStorm 或 Chrome 开发工具源 Dart 文件中的断点不会触发,并且 Chrome 开发工具控制台引用 javascript 文件而不是 Dart 源。
【问题讨论】: