Дарт вебдев сервер и PHP файлы - PullRequest
0 голосов
/ 19 марта 2019

Я занимаюсь разработкой веб-проекта с помощью Google Dart SDK версии 2.2 и использую 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.Откроется страница Chrome, отображающая текст файла index.php.Итак, опять php не обработан, я думаю.

Другой подход - настроить конфигурацию отладки javascript с настройками по умолчанию и щелкнуть зеленый значок отладки.Это дает правильный вывод project1.index, и index.php был правильно обработан.Однако я не могу заставить работать точки останова, и ошибки в консоли Chrome Dev ссылаются на файл project1.dart.js в каталоге build.

Еще один подход, который я попробовал, - это использование сервера Xampp для обслуживания файлов.В этом случае у меня было несколько проектов, каждый из которых был настроен на xampp/htdocs, то есть xampp/htdcos/project1 и т. Д. В PhpStorm я настроил локальный или смонтированный сервер с:

  • папкой C:\xampp\htdocs\project1,
  • корневой URL-адрес веб-сервера http://localhost/project1,
  • локальный путь, указывающий на подкаталог моего проекта web, а для развертывания
  • и веб-путей установлено значение \.

Кажется, что PhpStorm работает нормально, но точки останова снова не работают, и сообщения об ошибках отладки не ссылаются на файлы dart.

Любая помощь будет приветствоваться.То, что я пытаюсь сделать, даже возможно с этой настройкой, то есть начиная с index.php файла?

** EDIT **

Следуя приведенным ниже советам, я добавил следующее в мои 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.

Однако у меня естьта же проблема, т. е. точки останова в исходном тексте инструментов Dp инструментов PhpStorm или Chrome не запускаются, а консоль инструментов Chrome dev ссылается на файлы javascript вместо исходного кода Dart.

1 Ответ

2 голосов
/ 20 марта 2019

Вам нужно запустить обратный прокси-сервер на сервере apache / php и перенаправить js-запросы на сервер webdev, а затем просто запустить тестирование приложения, используя сервер apache / php и любой браузер.Когда вы приступаете к развертыванию, используйте dart2js для генерации js-файлов и скопируйте весь каталог сборки, где он может быть прочитан обычным сервером apache / php (т.е. без обратного прокси-сервера).

...