JS: Module Specifer
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:
http//as HTML: Protocol-Relative URL./for relative path.
🛑 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>