Flutter Web:使用 flutter build web 构建时缺少 main.dart.js 和 JavaScript 文件,但使用 flutter 运行 可以正常工作

Flutter Web: Missing main.dart.js and JavaScript files when building with flutter build web, but working fine with flutter run

我运行遇到 Flutter web 的一个问题,在任何项目中 运行 宁 flutter build web 时,都不会生成 JavaScript 文件,导致项目简单地载入空白页。

我目前使用的是 1.18.0 版 beta 频道,每个项目都会出现这种情况,即使是 Flutter 使用 flutter create . 生成的默认计数器项目也是如此。不会抛出任何警告或错误,如果我 运行 使用 flutter run --release -d chrome 的 Web 项目,一切都会按预期进行。

我已经按照文档中 Building a web application with Flutter 文章中描述的步骤进行操作,我记得半年前我能够按照相同的步骤使用 Flutter 构建和托管一个 Web 项目,没有任何问题.

我的 Flutter 配置和 SDK 似乎已经到位。这就是我 运行 flutter doctor -v

得到的结果
[√] Flutter (Channel beta, 1.18.0-11.1.pre, on Microsoft Windows [Versión 10.0.18363.836], locale es-ES)
    • Flutter version 1.18.0-11.1.pre at D:\Programas\Flutter\flutter
    • Framework revision 2738a1148b (4 weeks ago), 2020-05-13 15:24:36 -0700
    • Engine revision ef9215ceb2
    • Dart version 2.9.0 (build 2.9.0-8.2.beta)


[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at C:\Users\diego\AppData\Local\Android\sdk
    • Platform android-28, build-tools 28.0.3
    • Java binary at: D:\Programas\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 3.6)
    • Android Studio at D:\Programas\Android Studio
    • Flutter plugin version 46.0.1
    • Dart plugin version 192.8052
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)

[√] Connected device (2 available)
    • Web Server • web-server • web-javascript • Flutter Tools
    • Chrome     • chrome     • web-javascript • Google Chrome 83.0.4103.61

这里可能有什么问题?为什么没有生成 JavaScripts 个文件?

请检查以下文件夹:

./your-app/build/web

我遇到了同样的问题,正在检查错误的文件夹 (./your-app/web)。

对于无法打开构建版本的人: 从那里转到 'app/build/web' 和 运行 服务器 python -m http.server 8000,或者使用 dhttpd 包

Docs

  1. 确保复制文件,来自:
    ./your-app/build/web

  2. 如果错误仍然存​​在,请更新 index.html
    示例:
    一种。我在网络服务器上的 flutter 项目:webserver/flutter_project/index.html
    b.打开 index.html
    C。将 <base href="/"> 更新为 <base href="/flutter_project/">

对我有用的最简单的事情是更新到 <base href="./"> 来自 <base href="/">。所以当前路径而不是 root

就我而言 (IIS)。json 文件在我的目录中可用,但未由 Web 服务器发布。我必须添加 MIME 类型以允许它们。 .otf 文件的相同问题。