Я получаю `GET http://localhost:4567/my_app.dart.js 404 (не найден) ` в Chrome, но отлично работает в Dartium

Я пытаюсь запустить мое фиктивное веб-приложение Dart в браузерах. Вот код моей HTML-страницы:

<!DOCTYPE html>
<html>
  <head>
    <meta charset='utf-8'>
    <!-- Always force latest IE rendering engine or request Chrome Frame -->
    <meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'>
  </head>
  <body>
    <div id='button'>hello world</div>
  </body>
  <script src='my_app.dart' type='application/dart'></script>
  <script src='packages/browser/dart.js'></script>
</html>

и вот что я получаю в консоли js при попытке открыть ее:

GET http://localhost:4567/my_app.dart.js 404 (Not Found) 

(Я запускаю его на локальном сервере, поэтому URL-адрес - та же ошибка, если просто открыть HTML-файл).

Если я открою тот же URL в Dartium, веб-приложение работает. Так что проблема, я полагаю, в том, что dart.js не работает, как ожидалось. В чем может быть проблема?

2 ответа

Решение

packages/browser/dart.js скрипт начальной загрузки, который проверяет, доступна ли виртуальная машина Dart в вашем браузере Если виртуальная машина Dart доступна, сценарий Dart выполняется напрямую, в противном случае packages/browser/dart.js добавляет к документу новый js-скрипт с URL-адресом, указывающим на файл с тем же именем, что и ваш файл dart, но с добавленным .js, В зависимости от того, как вы работаете, вам может потребоваться сгенерировать этот файл JS вручную с помощью dart2js:

dart2js --out=my_app.dart.js my_app.dart

Попробуйте "Запускать как Java Script", он должен генерировать дополнительные файлы, такие как "my_app.dart.js"

Другие вопросы по тегам