我正在尝试从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
目录快照
我的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目录。
答案 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>-->