summaryrefslogtreecommitdiff
path: root/std/manual.md
diff options
context:
space:
mode:
Diffstat (limited to 'std/manual.md')
-rw-r--r--std/manual.md35
1 files changed, 29 insertions, 6 deletions
diff --git a/std/manual.md b/std/manual.md
index d2f5f348c..434d2d17b 100644
--- a/std/manual.md
+++ b/std/manual.md
@@ -797,27 +797,50 @@ Particularly useful ones:
dependencies of the specified input. For example:
```
-> deno bundle https://deno.land/std/examples/colors.ts
+> deno bundle https://deno.land/std/examples/colors.ts colors.bundle.js
Bundling "colors.bundle.js"
Emitting bundle to "colors.bundle.js"
9.2 kB emitted.
```
+If you omit the out file, the bundle will be sent to `stdout`.
+
The bundle can just be run as any other module in Deno would:
```
deno colors.bundle.js
```
-Bundles can also be loaded in the web browser. For example:
+The output is a self contained ES Module, which any exports from the main module
+supplied on the command line will be available. For example if the main module
+looked something like this:
+
+```ts
+export { foo } from "./foo.js";
+
+export const bar = "bar";
+```
+
+It could be imported like this:
+
+```ts
+import { foo, bar } from "./lib.bundle.js";
+```
+
+Bundles can also be loaded in the web browser. The bundle is a self-contained ES
+module, and so the attribute of `type` must be set to `"module"`. For example:
```html
-<script src="website.bundle.js"></script>
+<script type="module" src="website.bundle.js"></script>
```
-Bundles, whether loaded in the web browser, or in Deno, would run the root
-module which is specified on the command line when creating the bundle, so put
-any initiation logic in that module.
+Or you could import it into another ES module to consume:
+
+```html
+<script type="module">
+ import * as website from "website.bundle.js";
+</script>
+```
### Installing executable scripts