首页 > 解决方案 > Dart webdev 服务器和 PHP 文件

问题描述

我正在使用 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 开发控制台中的错误是指目录project1.dart.js中的文件build

我尝试的另一种方法是使用 Xampp 服务器来提供文件。xampp/htdocs在这种情况下,我有许多项目并在ie等下设置每个项目xampp/htdcos/project1。在 PhpStorm 中,我设置了一个本地或安装的服务器:

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 源。

标签: dartphpstormdart-html

解决方案


您需要在 apache/php 服务器上运行反向代理并将 js 请求重定向到 webdev 服务器,然后您只需使用 apache/php 服务器和任何浏览器运行您的应用程序测试。当你去部署时,使用 dart2js 生成 js 文件并复制整个构建目录,它可以被普通的 apache/php 服务器读取(即没有反向代理)。


推荐阅读