webdev
Usually you can use webdev
instead of directly using build_runner
. The only time most web app developers run build_runner
is for tests.
Dart 2 note: The webdev
tool replaces the Dart 1.x pub build
and pub serve
commands.
The easiest way to get webdev
is to globally install it, so that it can be in your PATH. Before you can use webdev
, your web app must depend on the build_runner and build_web_compilers packages.
webdev
using pub:
Use the same command to update webdev
. We recommend updating webdev
whenever you update your Dart SDK or when webdev
commands unexpectedly fail.
To use or (in a web app context) build_runner
, you must be in the root directory of a package that depends on the build_runner and build_web_compilers packages. If you’re testing the app, it must also depend on build_test.
To depend on these packages, add the following dev dependencies to your app’s pubspec.yaml
file:
dev_dependencies:
# ···
build_runner: ^1.0.0
build_test: ^0.10.2
build_web_compilers: ^0.4.0
As usual after pubspec.yaml
changes, run pub get
or pub upgrade
:
$ pub get
This section describes how to use the following commands:
Builds a deployable version of a web app.
Runs tests.
You can customize your build using build config files. For details, see the build_web_compilers package.
To launch a development server, which serves your app and watches for source code changes, use the following command:
webdev serve [--release] [ [<directory>[:<port>]] ... ]
By default, webdev serve
compiles your app using and serves the app at localhost:8080:
The first dartdevc build is the slowest. After that, assets are cached on disk, and incremental builds are much faster.
Note: The development compiler (dartdevc) supports only Chrome. To view your app in another browser, use the production compiler (dart2js). For a list of supported browsers, .
To use dart2js instead of dartdevc, add the --release
flag:
Use the following command to build your app:
webdev build [--no-release] --output [<dirname>:]<dirname>
By default, the build
command uses the web compiler to create a production version of your app. Add --no-release
to compile with dartdevc. Using the --output
option, you can control which top-level project folders are compiled and where output is written.
For example, the following command uses dart2js to compile the project’s top-level web
folder into the build
directory:
Use the build_runner test
command to run your app’s :
$ pub run build_runner test [build_runner options] -- -p <platform> [test options]
Tip: If the command fails to load the test file, make sure that your app’s pubspec has a dev dependency on build_test.
For example, here’s how to run all Chrome platform tests:
$ pub run build_runner test -- -p chrome
To see all available build_runner options, use the --help
or -h
option:
$ pub run build_runner test -h
Arguments after the empty --
argument are passed directly to the test package runner. To see all command-line options for the test package runner, use this command:
For a complete list of webdev
options, run webdev --help
or see the
Also see the following pages:
- build_runner: Introduces build_runner and its built-in commands, and points to more information.
- Has information on configuring builds, with an example of using to specify dart2js options.