Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I am running into an issue with Flutter web in which no JavaScript files are generated when running flutter build web in any project, causing prjects to simply load a blank page.

I am currently on version 1.18.0 beta channel, and this happens with every project, even with the default counter project that Flutter generates with flutter create .. No warnings or errors are thrown, and if I run the web project with flutter run --release -d chrome, everything works as intended.

I have followed the steps described in the Building a web application with Flutter article from the documentation, and I remember I was able to build and host a web project with Flutter half a year ago with no issues, following the same steps.

My Flutter configuration and SDKs seem to be in place. This is what I get if I run 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

What might be wrong here? Why are no JavaScripts files being generated?

like image 313
drogel Avatar asked Jun 07 '20 20:06

drogel


People also ask

Does Flutter web use JavaScript?

Flutter Web opens the door to building progressive web apps (PWAs) entirely in Dart. However, your Dart code will likely need to interop with JavaScript at some point to access browser APIs and/or your own custom JS apps. The following snippet demonstrates how access JS from a Flutter web app.

Does Flutter require JavaScript?

No, Flutter uses Dart compiled to native binary code. There is no JavaScript involved at all. You can run JavaScript in a WebView plugin if you want. Skia is an open source 2D graphics library which provides common APIs that work across a variety of hardware and software platforms.

How do you convert darts to JS?

Use the dart2js compiler to compile Dart code to deployable JavaScript. Another Dart-to-JavaScript compiler, dartdevc, is for development use only. The webdev build command uses dart2js by default. The webdev serve command uses dartdevc by default, but you can switch to dart2js using the --release flag.


3 Answers

Please check the following folder:

./your-app/build/web

I had the same problem and was checking the wrong folder (./your-app/web).

like image 187
Daniel Avatar answered Oct 20 '22 23:10

Daniel


  1. make sure to copy files, from:
    ./your-app/build/web

  2. If the error still exists, update the index.html
    Example:
    a. my flutter project at web server: webserver/flutter_project/index.html
    b. open the index.html
    c. update <base href="/"> to <base href="/flutter_project/">

like image 7
ikhwan aja Avatar answered Oct 21 '22 01:10

ikhwan aja


In my case, the flutter.js file is not generated when building for web. What I do is run flutter clean then run flutter build web again. You should see the missing js file and make sure to check on build/web not web on the root.

like image 3
Kevin Lee Avatar answered Oct 20 '22 23:10

Kevin Lee