【发布时间】:2023-03-09 09:17:02
【问题描述】:
我一直在尝试将我们的 Client.dart 网络程序安装到我们的服务器上,它是从 index.html 文件中引用的,并且在本地一切正常。
我发现了很多问题,但这个问题让我很困惑。注意:客户端应用程序正在使用 Polymer,其中包含一些 HTTP 代码。它还使用 Websockets。
我现在得到的确切消息是:
拒绝执行来自 'http://swarmshepherd.com:9494/client.dart' 的脚本,因为它的 MIME 类型('application/octet-stream')不可执行,并且启用了严格的 MIME 类型检查。
有一个“标头”(HTTP):“X-Content-Type-Options=nosniff” 这似乎与问题有关。对我来说没有任何意义 还没用。
从长远来看,我们必须能够在 Chrome 中运行,但此消息发生在 达提姆。
该消息在 DeveloperTools/js 监视器中找到 - 这是我收到的第一条也是唯一一条消息。
(我认为可能有一个 Chomium/Dartium 选项来关闭严格检查,但任何地方都没有显示,现在我已经尝试了 HTTP 代码的标题部分中我能想到的所有内容(这是最不确定的和令人沮丧,因为我无法从代码中知道如何使用它!)
提前感谢您提供任何线索!
_乔治
【问题讨论】:
-
你使用什么服务器来提供你的 Dart 脚本?您究竟在服务器上部署了什么?
pub build只创建可部署的 JavaScript,还没有可部署的 Dart 结果。也许先尝试部署pub build的结果会更容易。 -
看起来您必须将 .dart 文件的 MimeType 添加到您的网络服务器。如果您真的想要服务器 .dart 文件而不是像 Günter 指出的那样使用 pub 构建的 .js 文件。
-
Guenter,我已经开发了一个 Dart('入门程序')并且只在 Dartium 的 Dart 编辑器中运行它。是的,我确实运行了 [pub build] 并且它成功完成了,我认为我需要的所有文件都在“web”文件夹中,就像标准程序一样。所有 HTML 文件和更多文件都已安装(甚至一些库我已经几个月没有使用了,并且它们的引用为零)。另外,我想我会从使用 Sinatra 开始并提供 index.html 文件,因为这是我熟悉的“宝石”……使用 Dart 的快速尝试根本不起作用。非常感谢,再次!
-
我现在已经测试了 Sinatra 将在配置时使用 js 提供一个 html 文件,并且确实如此(非常基本)。还尝试在我的 Dart 程序中屏蔽所有 HTTP 代码,重新运行 pub build 等等,但这也不起作用。
-
@georgekoller,
pub build的结果放在build/而不是`web/。见dartlang.org/tools/pub/cmd/pub-build.html
标签: dart mime-types dartium