В нашей общей модульной системе операторы импорта модулей сопоставляются с конкретными файлами (версиями) через среду выполнения или связанные инструменты сборки. Пользователю нужно только написать спецификатор модуля (обычно имя пакета) непосредственно в операторе, и модуль может быть обработан автоматически.Node.jsimport
const dayjs = require('dayjs') // CommonJS
import dayjs from 'dayjs'; // webpack
Поскольку мы уже знакомы с этим способом импорта пакетов из , мы должны сначала пройти этап сборки, чтобы убедиться, что код, написанный таким образом, может работать в браузере.npm
Import maps Это решает эту проблему, автоматически сопоставляя спецификаторы модулей (имена пакетов) с их относительными или абсолютными путями. Это позволяет нам использовать краткий синтаксис импорта модулей без использования инструментов сборки.
Мы можем указать a по метке в. HTML<script type="importmap">Import maps
<script type="importmap">
{
"imports": {
"dayjs": "https://cdn.skypack.dev/[email protected]",
}
}
</script>
Затем мы можем использовать спецификацию внутри тега для импорта модуля:<script type="module">ES Module
<script type="module">
import dayjs from 'dayjs';
console.log(dayjs("2023-04-01").format("YYYY-MM-DD"));
</script>
С выпуском движок также поддерживается. Safari 16.4WebKitImport Mpas.

На данный момент поддерживаются все три браузерных движка.Import MpasBlink、Gecko、WebKit

Когда он был впервые запущен, я уже подробно представил его в своей предыдущей статье, и вы можете прочитать его, если вам интересно:Import Maps
Как элегантно реализовать импорт модулей без инструментов сборки?
Дополнительные материалы на PlainEnglish.io.
Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .
Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.