我最近偶然发现了Dart,并对此非常兴奋,因为它几乎感觉就像我一直在寻找的完美语言。我作为一名网络开发人员在我的工作中使用PHP(是的,我知道,非常粗略)并且很高兴尝试使用该语言构建一个Web应用程序。认为它不会像Dart最初制作的那样太难。事实证明它比我更困难,我甚至无法开始。我希望别人可以帮助我指出正确的方向。
所以,我真的没有在这个项目中完成任何真正的编码。我真的下载了Dart SDK,使用stagehand来创建web-simple
项目,然后我在项目中添加了一个bin/server.dart
文件。该文件中的代码几乎直接来自mojito包的在线文档:
import 'package:mojito/mojito.dart';
main() {
var app = init();
app.router
..addStaticAssetHandler('/static');
app.start();
}
我当然也将依赖项mojito: "^0.6.6"
添加到pubspec.yaml文件中。这就是我所做的一切,就像我说的那样,我还没有成功地开始。
当我运行server.dart
时,我收到以下错误:
'package:convert/src/percent/encoder.dart': malformed type: line 23 pos 13: cannot resolve class 'ChunkedConverter' from 'PercentEncoder'
如果我尝试使用shelf_rest软件包而不是mojito软件包构建服务器,则会收到完全相同的错误消息。
搜索该错误消息并没有带来太多有用的信息,但我找到了一个有人建议将convert: ^2.0.1
添加到依赖项的论坛。显然,该软件包中的更改导致与其他软件包不兼容。我尝试了这个建议,但似乎并没有解决这个问题。
我确定这个问题是某种依赖性问题,我可能会使用混合的依赖项,我猜这些依赖项并不是正确的。如果有人能帮助我弄清楚我做错了什么,我将不胜感激。我想学习并开始使用Dart,但显然我没有这么好运......
这是pubspec.yaml
看起来像以下情况:
environment:
sdk: '>=1.24.0 <2.0.0'
dependencies:
shelf: ^0.6.0
mojito: "^0.6.6"
convert: ^2.0.1
dev_dependencies:
browser: ^0.10.0
dart_to_js_script_rewriter: ^1.0.1
transformers:
- dart_to_js_script_rewriter
答案 0 :(得分:1)
mojito的最新版本已在October 2016上传,似乎已被放弃。从那时起,Dart已经添加了强模式并开始转换到Dart 2.这包括类型系统的重大更改和SDK库的更新。
此外,还删除了变形金刚 - 您发现引用它们的任何文档都已过时。在这种情况下,dart2js脚本重写器用于客户端JavaScript,而不是服务器。
如果您正在寻找服务器库,我建议您从最新版本的Shelf开始