/preload

Automatically generate preload tags for your Dart web application.

Primary LanguageDartBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Pub

  1. Add preload to dev_dependencies in pubspec.yaml. You should already have a dependency on build_runner.

    name: my_pkg
    
    dev_dependencies:
      build_runner: ^1.0.0
      preload: ^1.0.0
  2. Update the html in your web directory.

    1. Rename index.html to index.template.html.
    2. Add a place-holder for the preload entries.
     <html>
     <head>
       <!--PRELOAD-HERE-->
       <script defer type="application/javascript" src="main.dart.js"></script>
     </head>
     </html>
  3. Run a build.

    > pub run build_runner build

    You should now see index.html generated with preloads defined.

    <html>
    <head>
      <link rel="preload" href="main.dart.js" as="script">
      <link rel="preload" href="assets/font.ttf" as="font" crossorigin>
      <link rel="preload" href="assets/image.jpg" as="fetch" crossorigin>
      <link rel="preload" href="assets/json.json" as="fetch" crossorigin>
      <link rel="preload" href="packages/pkg/assets/json.json" as="fetch" crossorigin>
    
      <script defer type="application/javascript" src="main.dart.js"></script>
    </head>
    </html>

build.yaml configuration

The builder also supports configuration values. Below are the supported keys along with their defaults.

debug: false
exclude: []
include:
- 'web/**'
- 'lib/**'