Недавно я видел файлы с расширением .js.map
, поставляемые с некоторыми библиотеками JavaScript (например, Angular), и это вызвало у меня несколько вопросов:
- Для чего это нужно? Почему ребята из Angular заботятся о доставке файла
.js.map
? - Как я (как разработчик JavaScript) могу использовать
angular.min.js.map
? - Стоит ли мне заботиться о создании файлов
.js.map
для моих приложений JavaScript? - Как это создается? Я взглянул на
angular.min.js.map
, и он был заполнен строками странного формата, поэтому я предполагаю, что он не создается вручную.
Файлы .map
предназначены для js
и css
(а теперь ts
) файлы, которые были уменьшены. Они называются SourceMaps. Когда вы уменьшаете файл, например файл angular.js, он берет тысячи строк красивого кода и превращает его в несколько строк уродливого кода. Надеюсь, когда вы отправляете свой код в рабочую среду, вы используете минимизированный код вместо полной неминифицированной версии. Когда ваше приложение находится в рабочей среде и содержит ошибку, карта источников поможет принять ваш уродливый файл и позволит вам увидеть исходную версию кода. Если бы у вас не было исходной карты, то любая ошибка в лучшем случае казалась бы загадочной.
То же самое для файлов CSS. После того, как вы возьмете файл SASS или LESS и скомпилируете его в CSS, он будет совсем не похож на исходную форму. Если вы включите исходные карты, то вы сможете увидеть исходное состояние файла вместо измененного состояния.
Итак, чтобы ответить на ваши вопросы по порядку:
- Для чего это? Чтобы отменить ссылку на некорректный код
- Как разработчик может его использовать? Вы используйте его для отладки производственного приложения. В режиме разработки вы можете использовать полную версию Angular. В производственной среде вы должны использовать уменьшенную версию.
- Стоит ли мне заботиться о создании файла js.map? Если вы заботитесь о том, чтобы облегчить отладку производственного кода , тогда да, вы должны это сделать.
- Как он создается? Он создается во время сборки. Существуют инструменты сборки, которые могут создавать ваш файл .map, как и другие файлы. https://github.com/gruntjs/grunt-contrib-uglify/issues/71
Надеюсь, это имеет смысл.
Просто хотел сосредоточиться на последней части вопроса; Как создаются файлы исходной карты? перечисляя известные мне инструменты сборки, которые могут создавать исходные карты..
- Grunt: используя плагин
grunt-contrib-uglify
- Gulp: используя плагин
gulp-uglify
- Закрытие Google: с использованием параметра
--create_source_map

Просто хотел сосредоточиться на последней части вопроса; Как создаются файлы исходных карт? перечисляя известные мне инструменты сборки, которые могут создавать исходные карты.
- Grunt: используя плагин
grunt-contrib-uglify
- Gulp: с использованием плагина
gulp-uglify
- Закрытие Google: с использованием параметра
--create_source_map
- Как разработчик может его использовать?
Я не нашел ответа на это в комментариях, вот как можно использовать:
- Не связывайте ваш файл js.map в вашем файле index.html (в этом нет необходимости)
-
Инструменты минификации (хорошие) добавьте комментарий к вашему файлу .min.js :
//# sourceMappingURL = yourFileName.min.js.map
, который подключит ваш файл .map .
Когда min.js и js.map готовы …
- Chrome: откройте dev-tools , перейдите в Sources , вы увидите папку sources , в которой хранятся файлы неминифицированных приложений.

- Как разработчик может его использовать?
Я не нашел ответа на этот вопрос в комментариях, вот как можно использовать:
- Не ссылаться ваш файл js.map в вашем файле index.html (в этом нет необходимости)
-
Инструменты минификации (хорошие) добавьте комментарий к вашему . мин. js :
//# sourceMappingURL = yourFileName.min.js.map
, который подключит ваш .map .
Когда файлы min.js и js.map готово …
- Chrome: откройте dev-tools , перейдите на вкладку Sources , вы см. папку sources , где хранятся файлы неминифицированных приложений.
Файл карты сопоставляет неминифицированный файл с минифицированным файлом. Если вы внесете изменения в неминифицированный файл, изменения будут автоматически отражены в минифицированной версии файла.
Файл карты сопоставляет неминифицированный файл с минифицированным файлом. Если вы внесете изменения в неминифицированный файл, изменения будут автоматически отражены в минифицированной версии файла.
Просто чтобы добавить, как использовать файлы карты. Я использую хром для ubuntu, и если я перейду к источникам и щелкну файл, если есть файл карты, появится сообщение о том, что я могу просмотреть исходный файл и как это сделать.
Для файлов Angular, с которыми я работал сегодня, я нажимаю
Ctrl-P, и в небольшом окне появляется список исходных файлов.
Затем я могу просмотреть список, чтобы просмотреть файл, который я хотел бы проверить, и проверить, где может быть проблема.
Просто чтобы добавить, как использовать файлы карты. Я использую хром для ubuntu, и если я перейду к источникам и щелкну файл, если есть файл карты, появится сообщение о том, что я могу просмотреть исходный файл и как это сделать.
Для файлов Angular, с которыми я работал сегодня, я нажимаю
Ctrl-P, и в небольшом окне появляется список исходных файлов.
Затем я могу просмотреть список, чтобы просмотреть файл, который я хотел бы проверить, и проверить, где может быть проблема..
Импорт объектов карты из файла
Вы может импортировать на карту такие элементы карты, как линии, фигуры и места, из файлов KML, электронных таблиц и других файлов.
Импортировать данные карты в слой
Импортируйте файл
Убедитесь, что ваша информация относится к одному из следующих типов файлов:
- CSV
- TSV
- KML
- KMZ
- GPX
- XLSX
- Google Sheet
- Одна или несколько фотографий на Google Диске или в Google Фото
Разархивированные файлы KML и KMZ могут иметь размер до 5 МБ.
Другие файлы могут иметь размер до 40 МБ.
Если файл не на фотографии первая строка должна содержать заголовки. Чтобы правильно импортировать данные, убедитесь, что у вас есть столбец с одним из следующих значений:
- Информация о широте и долготе
- Адреса
- Названия мест
Не импортируйте файлы, содержащие более 2000 строк. Вы можете импортировать не более 100 фотографий за раз.
- Войдите в Мои карты на своем компьютере.
- Откройте или создайте карту.
- В легенде карты нажмите Добавить слой .
- Дайте новому слою имя.
- Под новым слоем нажмите Импорт .
- Выберите или загрузите файл или фотографии, содержащие вашу информацию, затем нажмите Выбрать .
- Элементы карты добавляются автоматически.
Проблемы с импортом информации
Если ваша информация не импортируется правильно:
- Убедитесь, что файл отформатирован правильно.
- Разрешите
https://mymaps.google.com/
получить доступ к вашему Диску. Узнайте, как разрешить или заблокировать настройки содержания для определенных сайтов в Chrome.
Файлы KML могут не импортировать все свои данные, в том числе:
- Всплывающие подсказки с HTML или JavaScript
- KML-туры
- Временные элементы
- Наложения изображений и экрана
- MultiGeometries
- 3D-модели
- Папки