предисловие
Среди интерфейсных фреймворков на рынке лучшим партнером является Vue+Cesium.Как правило, компании, которые производят продукты Cesium B-side, будут использовать Vue, поэтому последующий контент будет основан на Vue.
Обычно, когда мы хотим использовать Cesium во Vue, нам сначала нужно установить Cesium, а затем нужно настроить много чего в вебпаке vue-cli, что просто хлопотно для некоторых опытных людей, но для новичков в Cesium Это будет очень больно, так как я им раньше не пользовался, и не знаю как его настроить, остается только искать в сети туториалы и шаг за шагом шагать по яме.
На самом деле, опытный вы или новичок, очень хлопотно повторно настраивать эти вещи каждый раз, когда вы пишете проект.
vue-cli-plugin-cesiumпросто решить эту проблему
представлять
vue-cli-plugin-cesiumЭто плагин расширения VueCLI для Cesium, использование которого позволит нам использовать Cesium с нулевой конфигурацией в VueCLI на основе VueCLI3.0+.
На самом деле, когда я начал работать над Cesium, я чувствовал, что каждый раз настраивать его слишком хлопотно, поэтому я написал плагин, чтобы сэкономить время разработки без настройки, а позже разослал его нескольким группам разработчиков Cesium, чтобы все могли испытать , и эффект был не плохой.
Он будет расширен на основе Cesium в созданном нами проекте VueCLI.До сих пор его функции также можно сказать, что задачи, которые он решает, следующие
-
Автоматически установить Cesium и добавить к
package.jsonЗависимости (дополнительная версия) -
Автоматически расширять конфигурацию веб-пакета, связанную с цезием, в VueCLI.
- добавить один
cesiumПсевдонимы, чтобы мы могли легко вводить файловые ресурсы Cesium в проект - Сделать экземпляры объекта Cesium доступными в каждом модуле Vue без импорта
- Заставить webpack работать с Cesium
- Разрешить WebPack использовать Require в Cesium, устранить предупреждение о введении Require.
- Окружающая среда разработки генерирует SourceMap, а производственная среда отменяет SourceMap
- Рабочая среда извлекает общие модули для выполнения сжатия.
- Загрузчик производства переходит в оптимизированный режим
- добавить один
-
Автоматически импортируется в глобальный main.js
Widgets.css, необязательный -
автоматически в
components/Сгенерируйте образцы файлов в папке, необязательно
Установить
vue-cli-plugin-cesiumЭто плагин расширения, основанный на VueCLI, поэтому перед его использованием создайте проект Vue с VueCLI.
Если вы не знаете, как использовать VueCLI, переместитеVueCLI-Официальный сайт
Текущий плагин поддерживает толькоVueCLI3.0+версия
После создания проекта Vue вы можете использовать плагин в соответствии со следующими шагами. Как и все плагины VueCLI, его можно использовать двумя способами. Рекомендуемый способ — один.
способ использования
Рекомендуемое использованиеvue addЭтот способ установки в один шаг прост и удобен
vue add vue-cli-plugin-cesium
// 非全局安装的vue-cli可以
npx vue add vue-cli-plugin-cesium
Используйте метод два
Установить первымvue-cli-plugin-cesiumПлагины, рекомендуется устанавливать с пряжей, потому что это более лаконично
// npm
npm install --save-dev vue-cli-plugin-cesium
// yarn
yarn add vue-cli-plugin-cesium
После завершения установки мы будем использоватьvue invokeдля инициализации плагина
vue invoke vue-cli-plugin-cesium
// 非全局安装的vue-cli可以
npx vue invoke vue-cli-plugin-cesium
Процесс установки
существуетvue invokeилиvue addВ процессе будет три вопроса
спроси один
Please choose a version of 'cesium' from this list
请在列表中选择 cesium 的版本
Выберите тот, который вы хотите использовать здесьCesiumВерсия
Запрос два
Whether to import styles globally.
This operation will automatically import widgets.css in main.js
是否全局引入样式,该操作将自动在main.js引入widgets.css?
Эта опция по умолчанию да, эта операция автоматически импортирует widgets.css в main.js, то есть стиль css Cesium вводится глобально
Если этот пункт установлен в нет, то мы должны вручную ввести его во время разработкиwidgets.cssФайл стиля, команда импорта выглядит следующим образом
import "cesium/Widgets/widgets.css"
Спроси три
Whether to add sample components to the project components directory
是否添加示例组件到项目components目录?
По умолчанию для этого параметра установлено значение «да», что автоматическиsrc/componentsсоздается в папкеCesiumExampleПапка, эта папка содержит несколько примеров использования цезия для справки.
Если для этого параметра установлено значение «нет», файлы образцов создаваться не будут.
Каждый файл в сгенерированном примере представляет собой модуль, который можно напрямую импортировать в проект для просмотра.
Установка графического интерфейса
если мы используемvue uiСоздайте проект или вы можете выполнить поиск непосредственно в параметрах плагина после создания проекта.vue-cli-plugin-cesiumи установить
Следующим образом:
Выберите плагин и нажмите «Установить».
использовать
При разработке использовать объект Cesium непосредственно в модуле следующим образом
Просмотрите пример компонента, модуль можно импортировать следующим образом.
Общая проблема
При успешной установке плагина и начале разработки при использовании объектов Cesium может возникнуть следующая ошибка
Error:Cesium is no-undef
Друзья, работающие с фронтендом, должны знать, что это похоже на синтаксическую ошибку Eslint, да, это потому, что внутри плагина используется встроенный модуль Webpack.ProvidePluginсделать ненужным использование цезиевых объектовimportилиrequireВведено, и обычно, когда мы используем VueCLI для создания проекта, мы используем Eslint по умолчанию.Проверка грамматики Eslint будет думать, что Cesium является необъявленной переменной, поэтому выдается ошибка
Решение первое
package.jsonНастройте правила Eslint в разрешенииno-undef, как показано ниже, вpackage.jsonсерединаeslintConfigпод полемrulesнастроить"no-undef": 0, настройте так, чтобы необъявленные переменные разрешались отдельно, не выключая Eslint
{
"dependencies": {},
"devDependencies": {},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"parserOptions": {
"parser": "babel-eslint"
},
"rules": {
"no-undef": 0
}
}
}
Решение второе
Мы можем сделать это с помощьюpackage.jsonудалить напрямуюeslintConfigвозражать против прямого выключения Eslint
Также вvue.config.jsОтключаем Eslint в настройках следующим образом
module.exports = {
lintOnSave: false
}
После модификации вы можете перезапустить сервис.Рекомендуется использовать первый способ.Проверка грамматики Eslint – отличный инструмент для разработки ограничений, который может сделать грамматический стиль одной и той же команды унифицированным.Лучше не отключать его.
конец
После завершения установки вы можете использовать Cesium в любом модуле проекта vue. Вы можете напрямую использовать экземпляр объекта Cesium в каждом модуле Vue, не импортируя его. Если вы хотите импортировать файлы в пакете cesium, мы будем использовать Пакет Cesium для пакета Cesium Каталог задается псевдонимом, который называетсяcesium, поэтому при введенииWidgets.cssКогда путь импортаcesium/Widgets/widgets.css, если это поможет вам, я буду рад
В настоящее время должно быть очень мало людей, использующих VueCLI2.0, конечно, если вы используете скаффолдинг> VueCLI3.0, то вы не сможете использовать этот плагин, но не волнуйтесь, конфигурация VueCLI2.0 тоже доступна, но вам нужно настроить ее вручную, вы можете посмотреть подробности 👉VueCLI2.0 интегрирует Цезий
Мы будем постепенно улучшать этот плагин на более позднем этапе и продолжать итерации Мы приветствуем всех, кто вносит предложения и приветствует PR.
Адрес плагина 👉isboyjc/vue-cli-plugin-cesium
Статья размещена на GitHub, больше интересного смотрите 👉isboyjc/blog/issues
Это интерфейс, а не только интерфейс, так что это не серьезно, серьезно делитесь галантерейными товарами, общедоступный номер «Нерегулярный интерфейс», добро пожаловать на внимание