我想在Apache服务器上为Dart应用程序提供服务。我添加了一行
application/dart dart
到Apache配置中的mime.type文件。我仍然得到错误
Resource interpreted as Script but transferred with MIME type text/plain: "http://localhost/~d022051/mastermind/web/mm-game.dart".
另一个问题是package目录的链接。我不想在服务器的文档目录中有符号链接。有没有一种聪明的方法可以在正确的版本中复制所需的包?
答案 0 :(得分:3)
此消息与Apache无关。
我曾与Apache合作过一段时间,但据我所知,您不需要使用Apache为Dart客户端应用程序提供特定设置。它们就像任何其他静态HTML,CSS,JavaScript或图像文件一样。
您收到此消息是因为条目页面(index.html)包含Dart脚本的脚本标记。运行pub build
后,构建输出中没有Dart脚本(当Chrome支持Dart时会更改,pub build
也会生成Dart输出。)
当浏览器找到此(当前是多余的)Dart脚本标记时,它会生成此输出。如果您想要删除此消息,只需从your_app_package/build/web/index.html
文件的HTML页面中删除脚本标记。
编辑
transformers:
- $dart2js:
'minify': true
commandLineOptions: ['--output-type=dart']
或
commandLineOptions: ['--output-type=dart', '--categories=Server']
我还没有测试过这个类别参数是否也会在dart2dart
中生效。
编辑结束
<强> EDIT2 强>
还有输出类型dart-multi
,它为每个输入库创建一个输出文件。
有关详细信息,请参阅https://code.google.com/p/dart/issues/detail?id=21616#c9。
EDIT2 END
答案 1 :(得分:0)
将以下行添加到包的pubspec.yaml文件中(感谢Günter,他指出了这一点):
transformers:
- $dart2js:
'minify': true
commandLineOptions: ['--output-type=dart']
然后使用选项--mode = debug。
运行pub build这会生成一个“可运行”的Dart应用程序,其中包含dart源和所需的包。然后可以将构建目录复制到Web服务器可见的位置。在Dartium浏览器中加载相应的URL时,应用程序将启动。