0

我看过一些关于如何在 Linux 机器上的 Dart VM 上运行网络服务器的教程。但是在 Windows 服务器上执行相同操作的基本步骤是什么?如果它正在运行,您是否需要关闭 ISS?我假设我需要通过一些环境变量来连接 VM,但我还没有看到教程。

4

1 回答 1

2

这是与 IIS 之类的不同的心理概念。

本质上,您使用 dart 二进制文件从命令行运行 .dart 脚本dart.exe

例如,下面的脚本代表一个监听 8080 端口的“dart 服务器”

import 'dart:io';

void main() {
  var httpServer = new HttpServer();
  httpServer.defaultRequestHandler = (req, HttpResponse res) {
    var result = "${req.method}: ${req.path}"; 
    print(result);  // log to console  
    res.outputStream.writeString("You requested $result"); // return result to browser
    res.outputStream.close();
  };

  httpServer.listen("127.0.0.1", 8080);

}

将上面的文本另存为myServer.dart并从命令行运行dart.exe myServer.dart.

然后导航到http://127.0.0.1:8080/foo/bar,您将在浏览器中获得以下输出:

You requested GET: /foo/bar

从那里,您可以编写代码为特定方法/路径等添加更多处理程序...,从文件系统加载文件以发送到浏览器,访问数据源,返回数据,真正可以用 Dart 代码编写的任何东西并发送到浏览器。

(澄清:如果 IIS 已经在同一个端口上提供服务,您只需要关闭它,例如,端口 8080)。

于 2013-02-12T15:01:27.557 回答