【问题标题】:Server-side app unable to locate dart.js服务器端应用程序无法找到 dart.js
【发布时间】:2014-09-19 11:19:42
【问题描述】:

我正在尝试使用客户端和服务器端代码制作应用程序。服务器代码位于名为“bin”的目录中,带有相应 css 和 dart 文件的 html- 位于名为“web”的目录中。后者正确返回(在 VirtualDirectory 的帮助下),但是当涉及到“包”中的文件时,找不到它们。例如。 /packages/browser/dart.js

我在 Windows 和 (ubuntu) linux 机器上进行了尝试。我尝试在检查模式和未检查模式下从编辑器开始。我已经以 root 权限运行了 pub build,并且还使用“sudo”从命令行启动了该应用程序。我可以在 '.pub-cache' 中看到浏览器目录,但我无法打开它。

我在这里错过了什么?

【问题讨论】:

    标签: dart dart-editor


    【解决方案1】:

    bin/server.dart:

    import 'dart:io';
    import 'package:http_server/http_server.dart';
    
    main() {
      HttpServer.bind(InternetAddress.ANY_IP_V4, 80).then((server) {
        new VirtualDirectory('../web')
            ..jailRoot = false
            ..serve(server);
      });
    }
    

    现在您可以使用

    访问 dart.js
    http://localhost/packages/browser/dart.js
    

    诀窍是设置 jailRoot = false 以允许服务器从根目录之外提供文件。

    【讨论】:

    • 这只是在开发过程中。对于部署,您应该运行 pub build 并且生成的输出不再包含符号链接。
    • 这就是我所缺少的 :) 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-07
    • 2019-06-11
    • 2021-04-22
    • 1970-01-01
    相关资源
    最近更新 更多