1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-24 16:19:12 -05:00
denoland-deno/docs/linking_to_external_code/import_maps.md

72 lines
1,003 B
Markdown
Raw Normal View History

2020-05-06 18:21:13 -04:00
## Import maps
> This is an unstable feature. Learn more about
> [unstable features](../runtime/stability.md).
2020-05-06 18:21:13 -04:00
Deno supports [import maps](https://github.com/WICG/import-maps).
You can use import maps with the `--import-map=<FILE>` CLI flag.
2020-05-06 18:21:13 -04:00
Current limitations:
- single import map.
- no fallback URLs.
- Deno does not support `std:` namespace.
- supports only `file:`, `http:` and `https:` schemes.
2020-05-06 18:21:13 -04:00
Example:
**import_map.json**
2020-05-06 18:21:13 -04:00
```js
2020-05-06 18:21:13 -04:00
{
"imports": {
"fmt/": "https://deno.land/std@$STD_VERSION/fmt/"
2020-05-06 18:21:13 -04:00
}
}
```
**color.ts**
2020-05-06 18:21:13 -04:00
```ts
import { red } from "fmt/colors.ts";
2020-05-06 18:21:13 -04:00
console.log(red("hello world"));
2020-05-06 18:21:13 -04:00
```
Then:
2020-05-06 18:21:13 -04:00
```shell
$ deno run --import-map=import_map.json --unstable color.ts
2020-05-06 18:21:13 -04:00
```
2020-08-15 09:47:14 -04:00
To use starting directory for absolute imports:
```json
// import_map.json
{
"imports": {
"/": "./"
}
}
```
```ts
// main.ts
import { MyUtil } from "/util.ts";
```
You may map a different directory: (eg. src)
```json
// import_map.json
{
"imports": {
"/": "./src/"
}
}
```