Chromium和Dart:"加载文件时发生错误"

时间:2015-03-02 21:03:33

标签: apache dart phpstorm chromium

我正在尝试从Stagehand运行一些Dart模板。 'ubersimplewebapp'应用程序有效。它几乎没有任何东西。我尝试了其他几个而他们没有。我正在尝试让'webapp'工作。在使用PHPStorm进行安装时没有错误。当我在Chromium浏览器中运行它时,我收到以下控制台错误:

GET http://dartorium.loc/packages/browser/dart.js
GET http://dartorium.loc/packages/dartorium/nav_menu.dart
An error occurred loading file: package:dartorium/nav_menu.dart
GET http://dartorium.loc/packages/route_hierarchical/client.dart
An error occurred loading file: package:route_hierarchical/client.dart
GET http://dartorium.loc/packages/dartorium/reverser.dart
An error occurred loading file: package:dartorium/reverser.dart

这是pubspec.yaml文件:

name: 'dartorium'
version: 0.0.1
description: >
  A minimal web app for the developer that doesn’t want to be confused by too
  much going on.
#author: <your name> <email@example.com>
#homepage: https://www.example.com
environment:
  sdk: '>=1.0.0 <2.0.0'
dependencies:
  browser: any
  sass: '>=0.4.0 <0.5.0'
  script_inliner: '>=1.0.0 <2.0.0'
  route_hierarchical: '>=0.5.0 <0.7.0'
transformers:
- script_inliner
#- sass:
#    style: compressed

这是安装PHPStorm生成的模板的日志:

Working dir: /Volumes/Data/htdocs/dartorium
/usr/local/opt/dart/libexec/bin/pub get
Resolving dependencies...
+ analyzer 0.22.4 (0.24.0 available)
+ args 0.12.2+6
+ barback 0.15.2+4
+ browser 0.10.0+2
+ cli_util 0.0.1+1
+ code_transformers 0.2.5
+ collection 1.1.0
+ csslib 0.11.0+4
+ html5lib 0.12.0
+ logging 0.9.3
+ path 1.3.3
+ pool 1.0.1
+ route_hierarchical 0.6.1+1
+ sass 0.4.2
+ script_inliner 1.0.0
+ source_maps 0.10.0+1
+ source_span 1.0.3
+ stack_trace 1.2.1
+ utf 0.9.0+2
+ watcher 0.9.4
+ when 0.2.0
+ which 0.1.3
Changed 22 dependencies!
Precompiling dependencies...
Loading source assets...
Loading script_inliner transformers...
Precompiled script_inliner.
Process finished with exit code 0

目录快照

enter image description here

我的vhosts条目以防万一:

<VirtualHost *:80>
    ServerName dartorium.loc
    DocumentRoot "/Volumes/Data/htdocs/dartorium/web"
  <directory /Volumes/Data/htdocs/dartorium>
    Allow from all
    Options -MultiViews
    Require all granted
  </directory>
</VirtualHost>

更新

我决定尝试在PHPStorm之外创建应用。我删除了应用程序,并在终端中进行了“stagehand webapp”再次安装,然后'pub get'。我仍然有同样的错误。

然后我注意到输出中的注释表示要做'pub serve'然后连接到localhost:8080上的站点。当我这样做,应用程序运行正常。所以现在我的问题是如何使用Apache运行应用程序?

答案

GünterZöchbauer给出的接受的答案解决了这个问题。除了那里描述的内容之外,我做了两个其他的更改。在代码中的任何更改之后,我运行'pub build'。我使用RubyMine在PHP和RoR中工作,我所要做的就是刷新浏览器。另一个变化是我的vhosts条目。它现在设置为:

<VirtualHost *:80>
    ServerName dartorium.loc
    DocumentRoot "/Volumes/Data/htdocs/dartorium/build/web"
</VirtualHost>

我最初添加了权限来修复我在开始发布这篇文章之前遇到的一些访问问题。事实证明他们没有必要。该条目现在指向build / web而不是您工作的Web目录。

1 个答案:

答案 0 :(得分:1)

您需要运行pub build来生成JavaScript输出(在构建/ Web中)。这个构建输出可以由apache提供。

构建输出在Chrome中运行正常,无需更改。为了使它在Dartium中工作,我更改了脚本标记:

<script src="main.dart.js"></script>
<!--<script type="application/dart" src="main.dart"></script> -->
<!--<script data-pub-inline src="packages/browser/dart.js"></script>-->