JS: Module Specifer

By Xah Lee. Date: . Last updated: .

Module Specifer

module specifier is the path or URL or name in importmap for a module.

For example, in HTML:

<script type="module" src=moduleSpecifier></script>

or in JS code:

import { f1, f2 } from moduleSpecifier;

Example

<script type="module" src="https://example.org/module/xlib1.min.js"></script>
<script type="module" src="./xlib1.js"></script>
<script type="module" src="//xlib1.js"></script>
<script type="module" src="./js_modules/xlib1.js"></script>
import { f1, f2 } from "./xlib1.js";
import { f1, f2 } from "https://example.org/module/xlib1.min.js";

Module Specifer Restriction

Module Specifer must start with one of:

🛑 WARNING: Module Specifer cannot start with a file name e.g. my-module.js

Bare Module Specifer (from importmap)

Module Specifer can simply be a module name, if you have defined importmap.

Example. Module Specifer Errors

2018-03-19 in safari, this is error:

<script type="module" src="main.js"></script>

you get:

TypeError: Module specifier does not start with "/", "./", or "../".

must be like this

<script type="module" src="./main.js"></script>

2018-03-19 in safari, this is error

<script src="./main.js"></script>

you get

SyntaxError: Unexpected token '{'. import call expects exactly one argument.

must be

<script type="module" src="./main.js"></script>

JavaScript. Module Import Export