From 8d977d0117c2b61e6714cec9e4238f4ba0a56195 Mon Sep 17 00:00:00 2001 From: Kitson Kelly Date: Thu, 21 Nov 2019 03:02:08 +1100 Subject: feat: Support named exports on bundles. (#3352) --- std/manual.md | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) (limited to 'std/manual.md') 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 - + ``` -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 + +``` ### Installing executable scripts -- cgit v1.2.3