Эта статья была опубликована на моем личном сайте, нажмите, чтобы просмотреть статью полностью. https://blog.poetries.top/2022/06/25/cloudbase-summary
- Расширенное путешествие по фронтенду:https://interview2.poetries.top
Разница между облачной разработкой и бессерверной разработкой
Serverless Framework
даникто Служить приложение Framework, предоставляющее облачные функции SCF
、API
Шлюз, объектное хранилище COS
、Облачная база данных DB
Ожидая объединения ресурсов из бизнес-фреймворка, разработчики могут писать бизнес-логику непосредственно на основе фреймворка без необходимости уделять особое внимание Базовые ресурсы из Конфигурация управления.Tencent CloudBase,TCB
)даTencent Cloudпоставлятьизоблако Родной Интеграцияразвиватьсредаи Инструментальная платформа,для разработчиков обеспечивают высокую доступность, автоматическое эластичное масштабирование и серверное облако.,Содержит расчет, хранилище, хост-ожидание. serverless
возможности,Может用于облакоконец Интеграцияразвивать Различные терминалыприложение(Мини программа、Общественное мнение、Web
приложение、Flutter
Ожидание клиента),Помогите разработчикам единообразно создавать серверные облачные ресурсы и управлять ими.,Избегание громоздкой конструкции, эксплуатации и обслуживания сервера в процессе разработки приложения.,Разработчики могут сосредоточиться на бизнес-логике и реализации.,Нижний порог развития,Более эффективный.Выбор продуктов для облачной разработки среди продуктов
Чтобы создать проект, вам необходимо выбрать здесь подходящую область. Если в следующий раз при создании проекта область будет другой, возможно, вы не сможете увидеть проект.
Официальный адрес глобальной установки пакета строительных лесов
npm i -g @cloudbase/cli
Для упрощения ввода команду cloudbase можно сократить до tcb.
Проверьте, прошла ли установка успешно
tcb -v
Команда просмотра
tcb -h
# CloudBase CLI Автоматически будет Открыть Облачная разработкаконсоль Получив авторизацию, вам нужно нажать кнопку согласия на авторизацию, чтобы разрешить CloudBase CLI Авторизовано Получать. нравиться У вас нет авторизации, вам нужно авторизоваться, прежде чем вы сможете это сделать.
tcb login
Вы также можете использовать следующий метод для входа в систему напрямую через ключ API, чтобы избежать интерактивного ввода.
tcb login --apiKeyId xxx --apiKey xxx
Создать проект локально
tcb new [options] [appName] [templateUri]
# Сравниватьнравиться
tcb new nest-cloundbase nest-starter
Проекты облачной разработки — это объекты, связанные с ресурсами среды облачной разработки. Проекты облачной разработки объединяют такие службы, как облачные функции, базы данных и хранилища файлов. Вы можете писать функции, хранить файлы и быстро управлять своим облаком через CloudBase в таких проектах облачной разработки. как функции, хранилище файлов и базы данных.
Структура файла проекта облачной разработки:
.
├── .gitignore
├── functions // Облачная функция
│ └── node-app
│ └── index.js
└── cloudbaserc.json // проект Конфигурациядокумент
Выберите созданную вами среду. Если среды нет, создайте новую. В этот момент откроется браузер.
местный Открытьпроекти Установить зависимости Сумка
npm install
npm run dev
развернуть онлайн
# вызов tcb framework deploy
npm run deploy
развертывать После завершения вы можетеиспользовать tcb fn list
Заказ Проверятьужеразвертывать Заканчиватьизфункциясписок
Просмотреть все среды
tcb env list
безопасное доменное имя
когда тебе нужносуществоватьвеб-страницаприложениесерединаиспользовать Облачная Когда вы пройдете аутентификацию Служить, вам необходимо изменить доменное имя вашего веб-сайта (исходную страницу просить из доменного имени) включить безопасное доменное имяимя单середина。безопасное доменное имяда Облачная разработка Служить одобряет изпользователя просить исходные домены, все из небезопасного доменное Ни на один вопрос из списка имён ответ не будет получен.
использоватьподиз Заказ Проверятьвсе Конфигурацияизбезопасное доменное имя
tcb env domain list
Новыйбезопасное доменное имя
# Добавить доменное имя
tcb env domain create www.xxx.com
# Добавить несколько доменных имен
tcb env domain create www.domain1.com/www.domain2.com/www.domain3.com
удалитьбезопасное доменное имя
tcb env domain delete
Способ входа
когда тебе нужноиспользовать Облачная При работе с аутентификацией необходимо использовать Метод настройки входа。в настоящий момент Облачная разработка поддерживает индивидуальные настройки. Авторизоваться, общедоступная платформа WeChat, открытая платформа WeChat. Авторизоваться ждать несколько типов Способностей. входа。
# Вы можете использовать команду из ниже, чтобы просмотреть список настроек среды Конфигурация Способ. входасписок,Проверятьсреда Конфигурацияиз Способ входа,а также связано со статусом.
tcb env login list
Вы можете использоватьподиз Заказ Новый Способ входа:
tcb env login create
тебе нужновыбирать Конфигурацияизплатформа,Способ входасостояние,а также соответствует AppId и AppSecret,Способ войти Пожалуйста, выберите «Включить». существование не будет проверяться при добавлении метода AppId и AppSecret Действительно только при запросе AppId и AppSecret будет проверено, поэтому обязательно добавьте AppId и AppSecret действителен.
Исправлять Способ входа
Вы также можете использовать
tcb env login update
Уже изменено Конфигурация Способ войти,нравитьсяпереключить включенное состояние, изменить AppId и AppSecret。
существовать
cloudbaserc.json
Заявление в"version": "2.0"
Прямо сейчас можно включить новые функции, а новая версия Конфигурациядокументации поддерживает только JSON Формат
// динамические переменные Возможности позволяютсуществовать `cloudbaserc.json` Конфигурациядокументсерединаиспользоватьдинамические переменные,отпеременные среда или другие источники данных. Получение динамических данных. использовать `{{}}` объемное определение длядинамические переменные, можно цитировать, изценить в источнике данных. нравиться показано ниже
{
"version": "2.0",
"envId": "envId",
"functionRoot": "./functions",
"functions": [
{
"name": "{{variable}}"
}
]
}
CloudBase Поддержка использования .env
Типовые файлы служат основным источником данных и используют разные суффиксы для различения разных этапов и сценариев, например: .env.development
Можетвыражатьразвиватьэтапиз Конфигурация,.env.production
Можетвыражать Производствосредаиз Конфигурация
При указании
--mode [mode]
будет загружен снова.env.[mode]
документ,и следуйнравиться Внизиз Последовательное слияние перезаписывает переменные с тем же именем.:.env.[mode] > .env.local > .env
Прямо сейчас.env.[mode]
Переменные с таким же именем будут перезаписаны..env.local
и.env
Одноименная переменная в файлепри использовании
tcb framework deploy --mode test
команда, она будет загружена автоматически.env
,.env.local
а также.env.test
ждатьтридокументсерединаизпеременные средыслитьиспользовать。
Мы рекомендуем вам хранить секретный ключ в секрете. Конфигурация в существовании. .env.local
файл и место .env.local
присоединиться .gitignore
Конфигурациясередина
нравиться .env.local
документсередина存существоватьк Вниз变量
DB_HOST = localhost
DB_USER = root
DB_PASSWORD = s1mpl3
но Можетсуществовать Конфигурациядокументсерединаиспользовать
{
"version": "2.0",
"envId": "xxx",
"functionRoot": "./functions",
"functions": [
{
"name": "test",
"envVariables": {
"PASSWORD": "{{env.DB_PASSWORD}}"
}
}
]
}
ссылка Конфигурация
// https://docs.cloudbase.net/cli/functions/configs
// https://docs.cloudbase.net/cli-v1/functions/configs
{
// version выразить текущую версию Конфигурациидокумента, в настоящее время поддерживается версия Number: «2.0». когда version Поле Не существуетсуществоватьчас,по умолчаниютекущий Конфигурациядокументдля "1.0" Версия.
"version": "",
// Сопутствующая среда ID
"envId": "dev-xxxx",
"functionRoot": "./functions", // Код функции облачной функции хранится в пути к папке издокумента относительно корневого пути Оглавлениеиз.
// region Текущую информацию по региону окружающей среды указывать не нужно, но данные по другим регионам необходимо заполнять.
"region": "",
// Функция Элементы конфигурации формируют массив
"functions": [
{
// functions документпапка Внизфункциядокументпапкаизимя,Прямо сейчас имя функции
"name": "app",
// Время тайм-аута, ед.: Второй S
"timeout": 5,
// переменные среды
"envVariables": {
"key": "value"
}, // Частная сеть Конфигурация, нравиться использовать Частная сеть, но Конфигурация
"ВПК": {
// идентификатор vpc
"vpcId": "vpc-xxx",
// подсеть id
"subnetId": "subnet-xxx"
},
// Текущие дополнительные запуски при запуске включают: Nodejs8.9, Nodejs10.15, Php7, Java8
// Этот параметр можно опустить, по умолчаниюдля Nodejs10.15
"runtime": "Nodejs10.15",
// данетоблакоконец Установить зависимости,Поддерживает только Node.js проект
"installDependency": true,
// Функция курок, описание см. в документе: https://cloud.tencent.com/document/product/876/32314
"triggers": [
{
// name: курокиз Имя
"name": "myTrigger",
// type: куроктип, на данный момент поддерживает только timer (Прямо сейчас定часкурок)
"type": "timer",
// config: курок Конфигурация,существовать定часкурок Вниз,config Форматдля cron выражение
"config": "0 0 2 1 * * *"
}
],
// Вход в обработку функций, Node.js и PHP проект Может省略,по умолчаниюценитьдля index.main
// потому что Java из handler Конфигурация особенная, чем для, поэтому при запуске для Java Когда, обработчик нельзя опустить
// нравиться:package.Class::mainHandler
"handler": "index.main",
// functions:invoke Функция локального облака курок, время извызов параметров
"params": {},
// развернуть/Игнорировать документ при обновлении облачных функций
"ignore": [
// пренебрегать markdown документ
"*.md",
// пренебрегать node_modules документпапка
"node_modules",
"node_modules/**/*"
]
}
]
}
Ниже для в настоящее время поддерживаются все элементы конфигурации.
Конфигурацияэлемент | Требуется ли это? | тип | описывать |
---|---|---|---|
name | да | String | облакофункцияимя,Прямо сейчасдляфункцияразвертыватьназадизимя |
params | нет | Object/JSONObject | Параметры функции CIL при вызове облачных функций |
triggers | нет | Array | курок Конфигурация |
handler | нет | String | функция Метод леченияимя,имя Форматподдерживать“документимя.функцияимя”форма |
ignore | нет | String/Array<String> | развертывать/возобновлятьоблакофункциякодчасизпренебрегатьдокумент,поддерживать glob Правила сопоставления |
timeout | нет | Number | Тайм-аут функции (1-60 с) |
envVariables | нет | Object | Сумка含переменные средуизKeyценить парный объект |
vpc | нет | VPC | частная сеть Конфигурация |
runtime | нет | String | время выполнениясреда Конфигурация,Необязательно: Nodejs8.9, Nodejs10.15 Php7, Java8. |
memorySize | нет | Number | Функциональная память, значение по умолчанию — 256, опционально — 128, 256, 512, 1024, 2048. |
installDependency | нет | Boolean | данетоблакоконец Установить в зависимости от, в настоящее время поддерживает только Node.js |
codeSecret | нет | String | ключ шифрования кода,Форматдля 36 прописные и строчные буквы, цифры |
runtime
по умолчаниюдля Nodejs10.15
,использовать Node.js Вам не нужно заполнять его при запуске, используйте Php и Java требуется.CloudFunctionTrigger
имя | Требуется ли это? | тип | описывать |
---|---|---|---|
name | да | String | курокимя |
type | да | String | куроктип,Необязательныйценить:timer |
config | да | String | курок Конфигурация,существовать定часкурок Вниз,config Форматдля cron выражение |
VPC
имя | Требуется ли это? | тип | описывать |
---|---|---|---|
vpcId | да | String | VPC Id |
subnetId | да | String | Идентификатор подсети VPC |
возобновлятьфункциявремя выполнения Конфигурация
Создать функционал, Cloudbase CLI Функция for предоставляет некоторые возможности умолчаниюиз Конфигурация,Поэтому вам не нужно добавлять Конфигурацияинформация也Можетпрямойразвертыватьфункция。ты也Можетпроходитьподиз Заказ Исправлятьфункцияизвремя выполнения Конфигурация
# возобновлять app Функция из Конфигурация
tcb fn config update app
# возобновлять Конфигурациядокументсерединавсе Функция из Конфигурацияинформация
tcb fn config update
в настоящий моментподдерживать Исправлятьизфункция Конфигурация Сумка含тайм-аут timeout
、переменные среды envVariables
、время выполнения runtime
,vpcnetwork также installDependency
и другие варианты.
CloudBase CLI встречаот Конфигурациядокументсередина读取Функция из Конфигурацияинформацияивозобновлять,CloudBase CLI встречавозобновлять Конфигурациядокументсередина存существоватьизфункцияизвсе Конфигурация,暂不поддерживатьобозначениевозобновлятьодинокий Конфигурация选элемент。
fn deploy
Общий размер команды развертывания функции из документа не может превышать50 M
,нет может выйти из строя.
видодин содержит cloudbaserc.json
Конфигурациядокументизпроект Вниз,ты Можетпрямойиспользоватьподиз Заказразвертыватьоблакофункция:
tcb fn deploy <functionName>
использовать fn deploy
час,functionName
Опцию да можно опустить, если functionName
Если этот параметр опущен, Cloudbase CLI встречаразвертывать Конфигурациядокументсерединаизвсефункция:
# развертывать Конфигурациядокументсерединаизвсефункция
tcb fn deploy
Все параметры
Usage: tcb fn deploy [options] [name]
развертыватьоблакофункция
Options:
-e, --envId <envId> среда Id
--code-secret <codeSecret> Передача этого параметра защитит код Форматдля 36 прописные и строчные буквы и цифры
--force нравиться Fruit сохраняет функцию с тем же именем в существовании и перезаписывает функцию с тем же именем после загрузки
--path <path> Автоматически создавать HTTP доступ Служитьдоступпуть
--all развернуть Конфигурационный документ включает в себя все функции облака.
--dir <dir> Укажите путь к папке с облачной функцией.
-h, --help Команда просмотреть справочную информацию
Параметры по умолчанию
Cloudbase CLI для Node.js Облачные функции предоставляют параметры по умолчанию,тысуществоватьразвертывать Node.js облакофункциячас Может不用обозначениеоблако Функция из Конфигурация,использоватьпо умолчанию Конфигурация Прямо сейчас Можетразвертыватьоблакофункция。
облакофункцияпо умолчанию Конфигурация:
{
// тайм-аут 5S
"timeout": 5,
// время выполнения
"runtime": "Nodejs10.15", // автоматический Установить зависимости
"installDependency": true,
// обрабатывать запись
"handler": "index.main",
// пренебрегать node_modules Оглавление
"ignore": ["node_modules", "node_modules/**/*", ".git"]
}
Что делает команда развертывания?
fn deploy
буду читать cloudbaserc.json
документсерединаобозначение Функция из Конфигурация,и выполните следующие задания
tcb fn list
по умолчанию情况Вниз,
fn list
Команда выведет список только первых20
функции, нравиться Если у вас есть больше функций, вам нужно перечислить другие функции. можете Пройти Следующая опция указывает, что команда возвращает длину данных также Данные Из Смещения:
-l, --limit <limit> Длина возвращаемых данных, по умолчаниюценитьдля 20
-o, --offset <offset> Смещение данных, по умолчаниюценитьдля 0
# перед возвращением 10 функция и информация
tcb fn list -l 10
# Вернуться на страницу 3 - 22 функция и информация(Сумка含 3 и 22)
tcb fn list -l 20 -o 2
tcb fn code download <functionName> [destPath]
По умолчанию код функции загружается в functionRoot
Вниз,кфункцияимяделатьдляхранилищедокументпапка,ты Можетобозначениефункциямагазиниздокументпапкаадрес,функцияизвсекоддокументвстречапрямой Вниз载приезжатьобозначениеиздокументпапкасередина。
# Проверять vue-echo Функция из Подробности
tcb fn detail vue-echo
# удалить app функция
tcb fn delete app
# удалить Конфигурациядокументсерединаизвсеизфункция
tcb fn delete
# копировать app функциядля app2 функция
tcb fn copy app app2
курокдапо определенным правиламкурокфункцияизмодульизабстрактный,CloudBase облакофункцияв настоящий момент Поддерживает только定часкурок。
нравитьсяфруктыоблакофункциянуждатьсяхотеть定час/Выполнять регулярно,Прямо сейчас定часкурок,Вы можете использоватьоблакофункция定часкурок。уже Конфигурация定часкурокизоблакофункция,Будет ли существовать соответствующая временная точка автоматически курок,функцияиз返回结фрукты不встреча返回Даватьвызовнаправление。
{
"version": "2.0",
"envId": "xxx",
"functions": [
{
// triggers Массив Поледакурок, на данный момент поддерживает только один курок, Прямой Можно заполнить только один массив, несколько нельзя добавить.
"triggers": [
{
// name: курокиз Имя,Смотрите правила ниже
"name": "myTrigger",
// тип: куроктип, на данный момент поддерживает только timer (Прямо сейчас定часкурок)
"type": "timer",
// config: курок Конфигурация,существовать定часкурок Вниз,config Форматдля cron выражение, правила объяснены ниже
"config": "0 0 2 1 * * *"
}
]
}
]
}
создаватьфункциякурок
# создавать app функция Конфигурацияизкурок
tcb fn trigger create app
Cloudbase CLI будет прочитано автоматически
cloudbaserc.json
документсерединаобозначениефункция Конфигурацияиз定часкурок,исоздаватьоблакофункциякурок。нравитьсяфрукты Конфигурациядокументсередина Нет Сумка含курок Конфигурация,Тогда создаст терпит неудачу.
одинфункция Может Сумка含Несколькокурок,одинкурок Сумка含了к Вниз 3 个主хотетьинформация:name
, type
, config
{
// name: курокиз Имя,Смотрите правила ниже
"name": "myTrigger",
// тип: куроктип, на данный момент поддерживает только timer (Прямо сейчас定часкурок)
"type": "timer",
// config: курок Конфигурация,существовать定часкурок Вниз,config Форматдля cron выражение
"config": "0 0 2 1 * * *"
}
Если имя функции не указано, Cloudbase CLI создаст cloudbaserc.json
документ Сумка含извсефункцияизвсекурок
удалить функциюкурок
# удалить app функцияизимядля trigger изкурок
tcb fn trigger delete app trigger
Если имя функции не указано, Cloudbase CLI будет удалено
cloudbaserc.json
документ Сумка含извсефункцияизвсекурок。Когда указано толькофункцияимячас,Cloudbase CLI будет удаленообозначениефункцияизвсекурок,当同часобозначение了функцияимяикурокимячас,Cloudbase CLI Толькобудет удаленообозначениеизкурок。
# удалить cloudbaserc.json документсерединавсефункцияизвсекурок
tcb fn trigger delete
# удалить функцию app извсекурок
tcb fn trigger delete app
# удалить функцию app изкурок trigger
tcb fn trigger delete app trigger
курок ПРАВИЛА
60
персонажи, поддерживаются a-z
, A-Z
, 0-9
, -
и _
。必须к字母开голова,且одинфункция Вниз不поддерживать同имяиз Несколько定часкурок。Выражение Cron: «Необходимо семь поляков».,Разделять пробелами. в,Каждому поляку соответствует свой диапазон цен:
сортировать | Поле | ценить | Подстановочный знак |
---|---|---|---|
первое место | Второй | Целое число от 0 до 59 | , - * / |
второе место | минута | Целое число от 0 до 59 | , - * / |
третье место | Час | 0 - 23 целое число | , - * / |
четвертое место | день | 1–31 число (необходимо учитывать количество дней) | , - * / |
пятое место | луна | 1 - 12 целое числоили JAN、FEB、MAR、APR、MAY、JUN、JUL、AUG、SEP、OCT、NOV и DEC | , - * / |
шестое место | Неделя | 0 - 6 целое числоили MON、TUE、WED、THU、FRI、SAT и СОЛНЦЕ,среди которых 0 Палец Чжоудень,1 означает неделяодин,и так далее | , - * / |
седьмое место | Год | 1970 - 2099 целое число | , - * / |
Подстановочный знак
Подстановочный знак | значение |
---|---|
,(запятая) | Представляет собой использование забавных Числоотдельныйизхарактеризи集。примернравиться:существовать“Час”Полесередина 1,2,3 выражать 1 Точка, 2 точкаи 3 точка |
- (бросаться) | Сумка含обозначение范围извсеценить。примернравиться:существовать“день”Полесередина,1 - 15 Содержит указанное количество копий 1 Номер прибыл 15 Число |
*(звезда Число) | выражатьвсеценить。существовать“Час”Полесередина,* выражатькаждый Час |
/ (косая черта) | обозначение增量。существовать“минута”Полесередина,входить 1/10 Указать, что оно повторяется каждые десять минут, начиная с первой минуты. Пример нравиться, нет. 11 минута, Нет. 21 минуты и Нет. 31 минута,и так далее |
!существовать Cron выражениесерединаиз“день”и“Неделя”Поле同часобозначениеценитьчас,两ВОЗдля“или”связь,Прямо Сейчас Оба условия действуют.
Вот некоторые Cron
выражениеи Связанныйзначение:
*/5 * * * * * *
выражать Каждый 5 Второйкурокодин次0 0 2 1 * * *
выражатьсуществовать Каждыйлунаиз 1 деньиз Раннее утро 2 точкакурок0 15 10 * * MON-FRI *
выражатьсуществовать каждое утро с понедельника по пятницу 10:15 курок0 0 10,14,16 * * * *
выражатьсуществовать Каждый天上午 10 точка, полдень 2 точка, полдень 4 точкакурок0 */30 9-17 * * * *
выражатьсуществовать Каждый天上午 9 точка до полудня 5 точка Внутри Каждый半Часкурок0 0 12 * * WED *
выражатьсуществоватькаждый Неделя三середина午 12 точкакурок当тыизфункциякод发生改变час,Вы можете использоватьподиз Заказвозобновлятьтыизоблакофункцияизкод:
# возобновлять app функцияизкод
tcb fn code update app
fn code update
команда иfn deploy
команда изглавное отличиеда:fn code update
Заказ Тольковстречавозобновлятьфункцияизкода также Запись о выполнении,不встреча Исправлятьфункцияиздругой Конфигурация,иfn deploy
Заказновстреча Исправлятьфункцияизкод、Конфигурацияа такжекурокждать。
Вы можете пройтиподиз Заказ Проверятьверсия функции:
tcb fn list-function-versions <name>
Вы можете пройтиподиз Заказ Распечататьоблакофункцияизбегатьденьамбиции,использовать此Заказчас必须обозначениефункцияизимя:
# Проверять vue-echo функцияизвызовденьамбиции
tcb fn log vue-echo
По умолчанию Cloudbase CLI распечатывает последние 20 сообщений в блоге. К команде пройтисуществовать добавляются следующие доступные параметры, чтобы указать условия фильтра для возврата дняамбициииз:
-i, --reqId <reqId> функцияпросить Id
-o, --offset <offset> Данные из смещения, Смещение + Лимит не может быть больше 10 000.
-l, --limit <limit> Длина возвращаемых данных, смещение + Лимит не может быть больше 10 000.
--order <order> Записывать дни в порядке возрастания или убывания, ценить по желанию desc и asc
--orderBy <orderBy> Согласно определенному Полесортироватьдень, поддерживаются следующие Поле: имя_функции,длительность, mem_usage, start_time
--startTime <startTime> Запросизспецифическийдень Ожидать,примернравиться:2019-05-16 20:00:00, можно использовать только с указанием времени окончания. В течение одного дня
--endTime <endTime> Запросизспецифическийдень Ожидать,примернравиться:2019-05-16 20:59:59, можно использовать только с startTime В течение одного дня
-e, --error Возвращает только журнал ошибок типа
-s, --success Возвращайте только правильный журнал типов.
нравиться:tcb fn log app -l 2
Распечатать app
функция последняя 2 Информация журнала статей
cloudbaserc.jsonдокумент
{
"version": "2.0",
"envId": "poetry-prod-xx",
"functionRoot": "./cloudfunctions",
"functions": [
{
"name": "vue-echo",
"timeout": 5,
"runtime": "Nodejs10.15",
"installDependency": true
}
]
}
tcb fn deploy vue-echo
tcb fn list
Облачная разработкадля разработчиков обеспечивает статический хостинг веб-страниц с учетом возможностей, статические ресурсы (HTML, CSS, JavaScript, шрифты ждут) с распределением по объектному хранилищу COS Иметь несколько периферийных сетейточкаиз CDN Обеспечьте поддержку. Вы можете существовать консоль Tencent Cloud для статического сайтизразвертывать,поставлять Даватьтыизпользовательдоступ。в настоящий момент Облачная разработка возможность хостинга статических веб-страниц существует только Tencent Cloud Облачная поддержка разработкиконсоль, мини-программа IDE Боковая консоль пока не поддерживается.
Только метод оплаты для изсреда с оплатой по факту использования может активировать возможность хостинга статических веб-страниц, а среда метода предоплаты - не может.
использовать CLI Прежде чем использовать службу статического веб-сайта, перейдите в консоль облачной разработки, чтобы активировать службу статического веб-сайта.
Вся суммаразвертывать
Облачная разработка CLI Обеспечивает прямую команду развертывания документов веб-сайта, существует необходимость развертывания папки документов Оглавление, запуск напрямую.
tcb hosting deploy
Заказ Прямо сейчас можно конвертировать все текущие документы, разверточный статический сайтсередина。
# dist строить Оглавление
cd dist
# развертыватьвседокумент
tcb hosting deploy -e envId
Удалить файлы
Вы можете использоватьподиз Заказудалитьстатический сайтизхранилищенулевой间серединаиздокументилидокументпапка
# cloudPath длядокументилидокументпапкаизотносительный корень Оглавлениеизпуть,для Оглавление/документимя изформа,нравиться index.js、static/css/index.js ждать
tcb hosting delete cloudPath -e envId
Удалить все файлы
облакоконецпутьдлянулевойчас,выражать Удалить все файлы
tcb hosting delete -e envId
Посмотреть список файлов
Вы можете использоватьподиз Заказразвертыватьвыставкастатический сайтхранилищенулевой间серединадокумент
tcb hosting list -e envId
CloudBase обеспечивает кроссплатформенную функцию авторизации аутентификации.,Вы можете построить свою собственную пользовательскую систему на основе этого приложения.,Включая, но не ограничиваясь:
В то же время CloudBase Авторизоваться Аутентификация также является важным средством защиты ваших ресурсов, CloudBase отправляет клиенту каждый запрос,Будет проведена проверка личности и разрешений.,Предотвратите потребление и кражу ваших ресурсов злоумышленниками.
за вход CloudBase пользователи имеют соответствующий CloudBase счет Число,пользовательпроходитьэтот аккаунт Числодоступвызов CloudBase данные и ресурсы.
Сохранение статуса входа
Вы можете указать, как долго будет сохраняться статус «Авторизоваться нравиться». по умолчаниюдля local
,Связанные параметры включают в себя
примернравиться,Приложение для веб-страницы,оптимальныйвыбиратьда local
,Прямо сейчас существует Сеанс пользователя сохраняется даже после того, как пользователь закрывает браузер. так,Пользователям не нужно повторять «Авторизоваться» каждый раз, когда они заходят на эту страницу.,Не доставляйте неудобств пользователям.
Токены доступа и токены обновления
Вход пользователя CloudBase 之назад,встреча获得доступжетон(Access Token
) 작для доступ CloudBase
учетные данные, токен доступа по По умолчанию срок действия составляет два часа.
При входе в систему вы также получите токен обновления (Refresh Token), который по умолчанию действителен в течение 30 дней и используется для получения нового токена доступа после истечения срока действия токена доступа.
CloudBase клиент SDK Токен будет автоматически поддерживаться и обновляться, а срок действия будет поддерживаться автоматически. Разработчикам не нужно делать ничего особенного. этот процесс.
Войти анонимно из刷新жетон(
Refresh Token
)встречасуществоватьприезжать Ожидатьназадавтоматический续Ожидать,Для достижения долгосрочного статуса анонимно из Войти.
Получить текущего вошедшего в систему пользователя
Получить Текущего пользователя,рекомендоватьсуществовать
Auth
对象上настраиватьодинперезвонитьфункция,Всякий раз, когда изменяется статус пользователя Входа,встречакурок这个перезвонитьфункция,и获得текущийизLoginState
:
import cloudbase from "@cloudbase/js-sdk";
const app = cloudbase.init({
env: "your-env-id"
});
const auth = app.auth();
// Установить наблюдателя
auth.onLoginStateChanged((loginState) => {
if (loginState) {
// На данный момент пользователь уже
} else {
// Нет Авторизоваться
}
});
Вы также можете использовать
Auth.currentUser
атрибуты приходят Получить текущего вошедшего в систему пользователя。нравитьсяфруктыпользователь未Авторизоваться,ноcurrentUser
для null
Вы также можете использовать Auth.currentUser
атрибуты приходят Получить текущего вошедшего в систему пользователя。нравитьсяфруктыпользователь未Авторизоваться,но currentUser
для null
const user = auth.currentUser;
if (user) {
// На данный момент пользователь уже
} else {
// Нет Авторизоваться
}
Получить профиль пользователя
Вы можете пройти
User
Различные свойства объекта для получения информации профиля пользователя:
const user = auth.currentUser;
let uid, nickName, gender, avatarUrl, location;
if (user) {
// Облачная разработка уникальный пользователь id
uid = user.uid;
// Никнейм
nickName = user.nickName;
// пол
gender = user.gender;
// URL-адрес аватара
avatarUrl = user.avatarUrl;
// Местоположение пользователя
location = user.location;
}
Обновить профиль пользователя
Вы можете использовать User.update
направление法来возобновлятьпользовательиз个人资料информация。примернравиться:
const user = auth.currentUser;
user
.update({
nickName: "Tony Stark",
gender: "MALE",
avatarUrl: "https://..."
})
.then(() => {
// возобновлятьпользователь资料成功
});
Обновить информацию профиля пользователя
Для многосрочного приложения,пользователь Может能существовать其середина某个конец上возобновлятьжить самомуиз个人资料информация,В это время другим терминалам может потребоваться обновить информацию:
const user = auth.currentUser;
// Обновить информацию о пользователе
user.refresh().then(() => {
// После обновления Получить информацию о пользователе Прямо на данный момент последняя информация
const { nickName, gender, avatarUrl } = user;
});
Связанный логин WeChat
const auth = app.auth();
const provider = auth.weixinAuthProvider({
appid: "....",
scope: "snsapi_base"
});
auth.currentUser.linkWithRedirect(provider);
пользовательсуществовать Вичатизстраница Авторизоваться之назад,Вы будете перенаправлены обратно на свою страницу. Затем,Можетсуществоватьстраница加载часпроходитьвызов Provider.getLinkRedirectResult()
Чтобы получить связанные результаты:
const provider = auth.weixinAuthProvider();
provider.getLinkRedirectResult().then((result) => {
// Ассоциация успешна
});
Связанный пользовательский логин
User.linkWithTicket
,Получать Настроить Авторизоваться Ticket
Наконец, свяжите пользовательского пользователя:const auth = app.auth();
const ticket = "......"; // Настроить Авторизоваться Ticket
auth.currentUser.linkWithTicket(ticket).then((result) => {
// Ассоциация успешна
});
Войдите, используя связанный адрес электронной почты и пароль.
const auth = app.auth();
auth.currentUser.updatePassword(password).then(() => {
// Пароль успешно установлен
});
auth.currentUser.updateEmail(email).then(() => {
// Письмо с подтверждением успешно отправлено
});
Войдите в систему, используя соответствующее имя пользователя и пароль.
// к Почта Авторизоватьсядляпример
await app.auth().signInWithEmailAndPassword(email, password);
await app.auth().currentUser.updateUsername(username); // Привязать имя пользователя
const loginState = await app.auth().signInWithUsernameAndPassword(username, password); // Логин Пароль Авторизоваться
Избегайте повторных входов в систему
Перед выполнением процедуры Авторизации,Настоятельно рекомендуем сначала определить, является ли клиент уже авторизованным CloudBase.,нравитьсяуже Авторизоваться,Тогда нет необходимости выполнять процедуру Авторизации.,Во избежание бессмысленного повторения «Авторизоваться».
const auth = app.auth();
// приложение При инициализации
if (auth.hasLoginState()) {
// Уже в это время Авторизоваться
} else {
// В настоящее время авторизация отсутствует, выполните процедуру из Авторизации.
}
Сохранение статуса входа
Приложение для веб-страницы,оптимальныйвыбиратьда
local
,Прямо сейчас существует Сеанс пользователя сохраняется даже после того, как пользователь закрывает браузер. так,Пользователям не нужно повторять «Авторизоваться» каждый раз, когда они заходят на эту страницу.,Не доставлять неудобства пользователям
const auth = app.auth({
persistence: "local"
});
Подробную информацию см. на странице https://docs.cloudbase.net/authentication/method/anonymous.
Адрес документа https://docs.cloudbase.net/framework/index.
CloudBase Framework да Облачная разработка официального продукта из облако Родной интегрированного инструмента развертывания, который может помочь разработчикам конвертировать статические сайт、назадконец Служитьи Мини программаждатьприложение,Развернуть в один клик до Облачная разработка Бессерверная архитектура с облачной платформы,Автоматическое масштабирование и отсутствие необходимости беспокоиться об эксплуатации и обслуживании.,Сосредоточьтесь на самом приложении,Нет необходимости заботиться об основных ресурсах конфигурации.
Облачная разработкаприложение Может理解длябегатьсуществовать Облачная разработкасредаизприложение,примернравитьсяодин Сумка含前назадконец、база данныхждатьспособностьждать Служить,Можетпроходитьодин键развертывать,прямойразвертыватьсуществовать Облачная разработкасредасередина,использовать Облачная разработка нижнего слоя из различных предметов Serverless ресурсов и пользоваться преимуществами гибкой эксплуатации и отсутствия необходимости в обслуживании.
один Облачная разработкуприложение можно разобрать на три части, включая код, декларативная Конфигурацияипеременные средыинформация。
существоватьиспользовать CloudBase Framework Прежде всего, вам необходимо создать
cloudbaserc.json
Конфигурациядокумент,cloudbaserc.json
документда CloudBase CLI 、CloudBase VSCode плагини CloudBase приложениеиз Конфигурациядокумент,Конфигурациядокументвстречасвязьприезжать Облачная разработканравиться何строитьиразвертыватьтыизприложение.
по умолчанию情况Вниз,использовать cloudbase init
При инициализации проекта он будет генерировать cloudbaserc.json
документделатьдля Конфигурациядокумент,Вы также можете использовать --config-file
Чтобы назначить другой документ как документ «Конфигурация», документ должен соответствовать требованию «Формат».
Документ Конфигурация CloudBase Framework содержит следующие категории информации о конфигурации:
plugins:описыватьтыиззависимости приложения Который CloudBase Framework плагин,Для сборки и развертывания согласно Конфигурация изприложения.,приложение Можетиспользовать Несколькоплагин,специфическийплагин Конфигурациянаправление式ссылка Вниз文。
в настоящий моментподдерживатьизплагинимя请参阅 https://github.com/Tencent/cloudbase-framework#Список поддерживаемых в настоящее время плагинов
Пример
{
"framework": {
"plugins": {
"client": {
// использоватьизплагин npm Сумкаимя,примернравиться @cloudbase/framework-plugin-websiteподдерживатьобозначениеплагин Версия,примернравиться@cloudbase/framework-plugin-website@1.3.5
"use": "@cloudbase/framework-plugin-website",
// Конфигурация ввода, другой плагин, поддержка ввода другая, проверьте соответствующий плагин README илидокумент
"inputs": {
"buildCommand": "npm run build",
"outputPath": "dist",
"cloudPath": "/vue"
}
},
"server": {
"use": "@cloudbase/framework-plugin-function",
"inputs": {
"functionRootPath": "cloudfunctions",
"functions": [{
"name": "vue-echo"
}]
}
}
}
}
}
Конфигурациясуществоватьстроитьразвертыватьжизненный цикл前назад,нуждаться Чтобы выполнить Настроить动делать
{
"framework": {
"hooks": {
// Предварительный крючок, существование исполнения Framework Завершите действие по развертыванию сборки перед выполнением перехватчика, вы можете выполнить некоторые команды командной строки.
"preDeploy": {
// Изтип предварительного подключения, в настоящее время поддерживается только execCommand, выразить выполнение команд командной строки
"type": "execCommand",
"commands": [// Чтобы выполнить command список команд
"sudo npm install -g lerna",
"lerna bootstrap"
]
},
//Перехватчик сообщения, существование выполнения Framework развертывать之назад,существоватьоблакоконецвызовизкрюк,Можетвызоводин些облакофункция
"postDeploy": {
// Изтип крючка Post Hook, в настоящее время поддерживается только callFunction представлятьсуществоватьоблакоконецосуществлятьоблакофункция
"type": "callFunction",
"functions":[ // хотетьвызовизоблакофункциясписок,Поддержка массива,примернравиться
{
"functionName": "echo", // вызовизоблакофункцияизфункцияимя
"params": { // вызовоблакофункцияизпараметринформация
"foo": "bar"
}
}
]
}
}
}
}
существуют сценарии развертывания в облаке одним щелчком мыши, которые необходимо доводить до совершенства в зависимости от приложения Конфигурацияобъявитьзависимости приложенияиз Расширить ресурсыипеременные средыпараметр
"framework": {
// описыватьпроектпроходитьконсольодин键Установитьразвертыватьчасполагатьсяиздругойресурсинформация、переменные поддерживать бизнес-параметры.
"requirement": {
// Процесс приложенияразвертывания использует внешние облачные ресурсы, в том числе cfs、cynosdb、redis ждать
"addons": [
{
"type": "CynosDB",// Тип ресурса, поддерживается в настоящее время CFS и CynosDB
"name": "wordpress",// Имя ресурса, поддерживает только a-z 0-9 и -
"envMap": {// переменные Документ сопоставления окружающей среды будет генерировать облачные ресурсы из IP 、PORT проходитьопределение правой стороныизимянанести на картудляпереписыватьсяизпеременные окружающая среда и внести изменения в окружающую среду
"IP": "WORDPRESS-IP",
"PORT": "WORDPRESS-PORT",
"USERNAME": "WORDPRESS-USERNAME",
"PASSWORD": "WORDPRESS-PASSWORD"
}
}
],
// приложениесуществоватьстроитьчасивремя выполненияизпеременные среды Конфигурациязаявление,по умолчанию Примечание入计算средасередина(облакофункция、облакоприложение),也встречасуществоватьоблакоконецстроитьчасделатьдлястроитьразвертыватьизпеременные среды,Можетсуществовать cloudbaserc.json серединапроходить {{env.ENV_NAME}}цитата
"environment": {
"SECRET_TOKEN": {
// переменные окружающей среды, появится подсказка о существовании при вводе
"description": "A secret key for verifying the integrity of signed cookies.",
"required": true, //Требуется ли это?
"default": "default_value",
"validation": {// Правила проверки Конфигурация
"rule": {//Информация о правиле проверки
"type": "RegExp",//Тип правил проверки, на данный момент поддерживает "RegExp" Представляет обычный тип
"pattern": "[3-9]",//Обычный из Pattern
"flag": "г"//Обычный из Flag
},
"errorMessage": "Количество ценить в диапазоне 3-9" // Сообщение об ошибке при неудачной проверке
}
}
}
}
}
}
Конфигурациядокументподдерживатьдинамические переменныеизхарактеристика。существовать cloudbaserc.json
Заявление в "version": "2.0"
Прямо сейчас можно включить.
динамические переменные Возможности позволяют
cloudbaserc.json
Конфигурациядокументсерединаиспользоватьдинамические переменные,отпеременные средысередина Получатьдинамичныйизданные。использовать{}
объемное определение длядинамические переменные,Источник данных можно указать в изценить. Пример нравиться`{env.ENV_ID}:
cloudbaserc.json
и .env
документ.
├─cloudbaserc.json
├─.env
ENV_ID=pro-123
DB_NAME=pro_user
cloudbaserc.json
документ Внутрипроходить env
Примечание入Переменные шаблона{
"version": "2.0",
"envId": "{{env.ENV_ID}}",
"framework": {
"name": "node-capp",
"plugins": {
"node": {
"use": "@cloudbase/framework-plugin-node",
"inputs": {
"name": "node-capp",
"path": "/node-capp",
"platform": "container",
"containerOptions": {
"envVariables": {
"env": "{{env.ENV_ID}}",
"db": "{{env.DB_NAME}}"
}
}
}
}
}
}
}
tcb framework deploy
Предполагается, что вы уже завершили описанную выше настройку переменных шаблона.
.env.dev
документ.
├─cloudbaserc.json
├─.env
├─.env.dev
.env.dev
документ Добавить переменныеENV_ID=dev-123
DB_NAME=dev_user
cloudbase framework deploy --mode dev
Полный Пример
// https://docs.cloudbase.net/framework/config
{
"version": "2.0",
"envId": "{{env.ENV_ID}}",
"$schema": "https://framework-1258016615.tcloudbaseapp.com/schema/latest.json",
"framework": {
"plugins": {
"admin": {
"use": "@cloudbase/framework-plugin-website",
"inputs": {
"outputPath": "./packages/admin/dist",
"installCommand": "echo \"Skip Install\"",
"buildCommand": "npm run build",
"cloudPath": "{{env.deployPath}}"
}
},
"init": {
"use": "@cloudbase/framework-plugin-function",
"inputs": {
"functionRootPath": "./packages",
"functions": [
{
"name": "cms-init",
"timeout": 60,
"envVariables": {
"CMS_ADMIN_USER_NAME": "{{env.administratorName}}",
"CMS_ADMIN_PASS_WORD": "{{env.administratorPassword}}",
"CMS_OPERATOR_USER_NAME": "{{env.operatorName}}",
"CMS_OPERATOR_PASS_WORD": "{{env.operatorPassword}}",
"CMS_DEPLOY_PATH": "{{env.deployPath}}",
"ACCESS_DOMAIN": "{{env.accessDomain}}"
},
"installDependency": true,
"handler": "index.main"
}
]
}
},
"service": {
"use": "@cloudbase/framework-plugin-node",
"inputs": {
"name": "tcb-ext-cms-service",
"entry": "app.js",
"projectPath": "./packages/service",
"path": "/tcb-ext-cms-service",
"functionOptions": {
"timeout": 15,
"envVariables": {
"NODE_ENV": "production"
}
}
}
},
"db": {
"use": "@cloudbase/framework-plugin-database",
"inputs": {
"collections": [
{
"collectionName": "tcb-ext-cms-projects",
"description": "CMS Данные системного проекта (пожалуйста, не изменяйте его вручную)",
"aclTag": "ADMINONLY"
},
{
"collectionName": "tcb-ext-cms-schemas",
"description": "CMS Данные модели systemContent (пожалуйста, не изменяйте их вручную)",
"aclTag": "ADMINONLY"
},
{
"collectionName": "tcb-ext-cms-users",
"description": "CMS система Пользовательские данные системы, хранилище CMS «Информация о пользователе, включая информацию об учетной записи администратора, информацию о роли (пожалуйста, не изменяйте ее вручную)",
"aclTag": "ADMINONLY"
},
{
"collectionName": "tcb-ext-cms-webhooks",
"description": "CMS системасистема webhook сбор, хранение CMS Конфигурация системного интерфейса, CMS Система данных из изменений может быть синхронизирована с помощью обратного вызова (Пожалуйста, не изменяйте его вручную)",
"aclTag": "ADMINONLY"
},
{
"collectionName": "tcb-ext-cms-settings",
"description": "CMS системасистема Конфигурациясбор, хранение CMS системаиз настроек(Пожалуйста, не изменяйте его вручную)",
"aclTag": "ADMINONLY"
},
{
"collectionName": "tcb-ext-cms-user-roles",
"description": "CMS Конфигурация роли системысистемыпользователя хранение CMS системаиз Индивидуальная информация о роли пользователя(Пожалуйста, не изменяйте его вручную)",
"aclTag": "ADMINONLY"
}
]
}
}
},
"requirement": {
"addons": [],
"environment": {
"administratorName": {
"description": «Имя учетной записи администратора. Имя учетной записи должно быть длиннее, чем 4 бит, поддерживает буквы и цифры",
"required": true,
"default": "admin",
"validation": {
"rule": {
"type": "RegExp",
"pattern": "[^[a-zA-Z0-9]+[a-zA-Z0-9_-]?[a-zA-Z0-9]+$]",
"flag": "g"
},
"errorMessage": «Сочетание букв и цифр и з не может быть чистыми цифрами для, диапазон длин да 1 ~ 32"
}
}
}
}
}
}
другойпроект Конфигурациядокумент Пример
// https://docs.cloudbase.net/framework/config
{
"version": "2.0",
"envId": "{{env.ENV_ID}}",
"$schema": "https://framework-1258016615.tcloudbaseapp.com/schema/latest.json",
"framework": {
"plugins": {
"admin": {
"use": "@cloudbase/framework-plugin-website",
"inputs": {
"outputPath": "./packages/admin/dist",
"installCommand": "echo \"Skip Install\"",
"buildCommand": "npm run build",
"cloudPath": "{{env.deployPath}}"
}
},
"init": {
"use": "@cloudbase/framework-plugin-function",
"inputs": {
"functionRootPath": "./packages",
"functions": [
{
"name": "cms-init",
"timeout": 60,
"envVariables": {
"CMS_ADMIN_USER_NAME": "{{env.administratorName}}",
"CMS_ADMIN_PASS_WORD": "{{env.administratorPassword}}",
"CMS_OPERATOR_USER_NAME": "{{env.operatorName}}",
"CMS_OPERATOR_PASS_WORD": "{{env.operatorPassword}}",
"CMS_DEPLOY_PATH": "{{env.deployPath}}",
"ACCESS_DOMAIN": "{{env.accessDomain}}"
},
"installDependency": true,
"handler": "index.main"
}
]
}
},
"service": {
"use": "@cloudbase/framework-plugin-node",
"inputs": {
"name": "tcb-ext-cms-service",
"entry": "app.js",
"projectPath": "./packages/service",
"path": "/tcb-ext-cms-service",
"functionOptions": {
"timeout": 15,
"envVariables": {
"NODE_ENV": "production"
}
}
}
},
"db": {
"use": "@cloudbase/framework-plugin-database",
"inputs": {
"collections": [
{
"collectionName": "tcb-ext-cms-projects",
"description": "CMS Данные системного проекта (пожалуйста, не изменяйте его вручную)",
"aclTag": "ADMINONLY"
},
{
"collectionName": "tcb-ext-cms-schemas",
"description": "CMS Данные модели systemContent (пожалуйста, не изменяйте их вручную)",
"aclTag": "ADMINONLY"
},
{
"collectionName": "tcb-ext-cms-users",
"description": "CMS система Пользовательские данные системы, хранилище CMS «Информация о пользователе, включая информацию об учетной записи администратора, информацию о роли (пожалуйста, не изменяйте ее вручную)",
"aclTag": "ADMINONLY"
},
{
"collectionName": "tcb-ext-cms-webhooks",
"description": "CMS системасистема webhook сбор, хранение CMS Конфигурация системного интерфейса, CMS Система данных из изменений может быть синхронизирована с помощью обратного вызова (Пожалуйста, не изменяйте его вручную)",
"aclTag": "ADMINONLY"
},
{
"collectionName": "tcb-ext-cms-settings",
"description": "CMS системасистема Конфигурациясбор, хранение CMS системаиз настроек(Пожалуйста, не изменяйте его вручную)",
"aclTag": "ADMINONLY"
},
{
"collectionName": "tcb-ext-cms-user-roles",
"description": "CMS Конфигурация роли системысистемыпользователя хранение CMS системаиз Индивидуальная информация о роли пользователя(Пожалуйста, не изменяйте его вручную)",
"aclTag": "ADMINONLY"
}
]
}
}
},
"requirement": {
"addons": [],
"environment": {
"administratorName": {
"description": «Имя учетной записи администратора. Имя учетной записи должно быть длиннее, чем 4 бит, поддерживает буквы и цифры",
"required": true,
"default": "admin",
"validation": {
"rule": {
"type": "RegExp",
"pattern": "[^[a-zA-Z0-9]+[a-zA-Z0-9_-]?[a-zA-Z0-9]+$]",
"flag": "g"
},
"errorMessage": «Сочетание букв и цифр и з не может быть чистыми цифрами для, диапазон длин да 1 ~ 32"
}
}
}
}
}
}
Плагины могут обработкаприложения из отдельных независимых подразделений по строительству, развертыванию, разработке, отладке процесса ожидания. Примернравиться website Плагины могут обрабатывать такие модули, как статические веб-сайты и узлы. Плагины могут обрабатывать koa 、express ждать node приложение.
плагиниз Конфигурация Писатьсуществовать cloudbaserc.json В документе конкретная ссылка находится в руководстве по настройке. Плагин Конфигурация может быть заполнена вручную или сгенерирована автоматически.
Автоматическое обнаружение и создание плагина Конфигурация
Можетсуществоватьпроект Оглавление Внизпрямойбегать cloudbase
Заказруководить Автоматическое обнаружение и создание плагина Конфигурациядокументиразвертывать
cloudbase
✔ данетиспользовать Облачная разработкаразвертыватьтекущийпроект <Projects/test/test-vue> ? (Y/n) · true
✔ выбирать Сопутствующая среда · webpage - [веб-страница: Оплата по мере использования]
______ __ __ ____
/ ____// /____ __ __ ____/ // __ ) ____ _ _____ ___
/ / / // __ \ / / / // __ // __ |/ __ `// ___// _ \
/ /___ / // /_/ // /_/ // /_/ // /_/ // /_/ /(__ )/ __/
\_________\____/ \__,_/ \__,_//_____/ \__,_//____/ \___/ __
/ ____/_____ ____ _ ____ ___ ___ _ __ ____ _____ / /__
/ /_ / ___// __ `// __ `__ \ / _ \| | /| / // __ \ / ___// //_/
/ __/ / / / /_/ // / / / / // __/| |/ |/ // /_/ // / / ,<
/_/ /_/ \__,_//_/ /_/ /_/ \___/ |__/|__/ \____//_/ /_/|_|
CloudBase Framework info Version v1.2.10
CloudBase Framework info Github: https://github.com/Tencent/cloudbase-framework
CloudBase Framework info EnvId webpage
? 检测приезжатьтекущийпроект Сумка含 Vue.js проект
🔨 Создать скрипт `npm run build`
📦 Локальное статическое документ Оглавление `dist`
данет необходимо изменитьпо умолчанию Конфигурация No
? Введите уникальный идентификатор приложения (поддерживаются прописные и строчные буквы, цифры и дефисы). Они не могут быть одинаковыми под одним аккаунтом) test-vue
? данетнуждатьсяхотеть保存текущийпроект Конфигурация,Сохраните конфигурацию, и в следующий раз вас больше не спросят Да
Информация CloudBase Framework 📦 установка плагинов
手动填Писатьплагин Конфигурация
{
"framework": {
"plugins": {
"client": {
"use": "@cloudbase/framework-plugin-website",
"inputs": {
"buildCommand": "npm run build",
"outputPath": "dist",
"cloudPath": "/vue"
}
},
"server": {
"use": "@cloudbase/framework-plugin-function",
"inputs": {
"functionRootPath": "cloudfunctions",
"functions": [
{
"name": "vue-echo"
}
]
}
}
}
}
}
Официальный список плагинов
Знакомство с часто используемыми плагинами
Облачная разработка CloudBase Framework рамка「Function」плагин:проходить Облачная разработка CloudBase Framework рамка будетстатический сайтодин键развертывать Облачная разработкасреда, обеспечение доступной производственной средыиз CDN Ускоренное автоматическое эластичное масштабирование с высокопроизводительного сайта Служить. Можно комбинировать с другими плагинаминравиться. Плагин узла、функция Плагины обеспечивают интегрированную облачную разработку.
нравитьсяфрукты想全新开始одинпроект,Вы можете напрямую выполнить шаблон инициализации на главном сайте проекта.
# развертывать
cloudbase framework deploy
cloudbase init 之назадсоздаст Облачная разработкаиз Конфигурациядокумент cloudbaserc.json,Можетсуществовать Конфигурациядокументиз plugins Изображения из фильма «Ри» подключить Конфигурация
{
"envId": "{{envId}}",
"framework": {
"plugins": {
"client": {
"use": "@cloudbase/framework-plugin-website",
"inputs": {
"installCommand": "npm install --prefer-offline --no-audit --progress=false",
"buildCommand": "npm run build", // Команда сборки, нравитьсяnpm run построй, не проходи, если у тебя его нет
"outputPath": "dist", // Статический путь к документации сайта.
"cloudPath": "/path", // Статические ресурсыразвертыватьприезжать Облачная разработкасредаизпуть,по умолчаниюдлякорень Оглавление。
"ignore": [".git", ".github", "node_modules", "cloudbaserc.js"] // Статические ресурсыразвертыватьчаспренебрегатьиздокументпуть,поддерживать Подстановочный знак
}
}
}
}
}
Функции
{
"envId": "{{envId}}",
"framework": {
"plugins": {
"function": {
"use": "@cloudbase/framework-plugin-function",
"inputs": {
// функциякорень Оглавление
"functionRootPath": "./cloudfunctions",
"publishIncludeList": "{{env.publishIncludeList}}",
// облакофункцияпо умолчанию Конфигурация, Конфигурация Форматиодинокийфункция Конфигурация Форматтакой же
"functionDefaultConfig": {
"timeout": 5,
"envVariables": {
"FOO": "bar"
},
"runtime": "Nodejs10.15",
"memorySize": 128
},
// функция Конфигурациямножество,каждый Функция из Конфигурация Форматхотеть求нравиться Вниз:
"functions": [
{
// облакофункцияимя,Прямо сейчасдляфункцияразвертыватьназадизимя
"name": "helloworld",
"envVariables": {// Сумка含переменные средуизKeyценить парный объект
"ABC": "xyz"
}
}
], // Служитьпуть Конфигурация
"servicePaths": {
"helloworld": "/helloworld"
}
}
}
}
}
}
Облачная разработка CloudBase Framework рамка「Авторизоваться Конфигурация」плагин:проходить Облачная разработка CloudBase Framework Настройки рамки в один клик. Среда Авторизоваться Конфигурация.
// https://docs.cloudbase.net/framework/plugins/framework-plugin-auth
{
"envId": "YOU_ENV_ID",
"framework": {
"plugins": {
"auth": {
"use": "@cloudbase/framework-plugin-auth",
"inputs": {
"configs": [
{
"platform": "NONLOGIN",
"status": "ENABLE"
}
]
}
}
}
}
}
Облачная разработка CloudBase Framework рамка「Database」плагин:проходить Облачная разработка CloudBase Framework рамкаодин键Конфигурация Облачная разработка сбора базы данных, индексирования, использования высокой производительности Serverless химический NoSQL База данных Служить. Можно комбинировать с другими плагинаминравиться. Website плагин、Плагин узла实现облакоконецодин体развивать。
// https://docs.cloudbase.net/framework/plugins/framework-plugin-database
{
"envId": "{{envId}}",
"framework": {
"plugins": {
"client": {
"use": "@cloudbase/framework-plugin-database",
"inputs": {
"collections": [
{
"collectionName": "test-collection", //собиратьимя
"description": "test", // описыватьинформация
}
]
}
}
}
}
}
Облачная разработка CloudBase Framework рамка「Мини программа」плагин:проходить Облачная разработка CloudBase Framework Framework одним щелчком мыши развертывает приложение WeChat.
// https://docs.cloudbase.net/framework/plugins/framework-plugin-mp
{
"envId": "{{envId}}",
"framework": {
"plugins": {
"client": {
"use": "@cloudbase/framework-plugin-mp",
"inputs": {
"appid": "",//Обязательно, мини-программное приложениеиз appid
//Необязательно, необходимо передать содержимое закрытого ключа мини-программы приложениеразвернуть base64 кодирование Можетиспользовать Мини-программа развертывания гаджета для конвертации ключей конвертировать для Base64
// https://framework-1258016615.tcloudbaseapp.com/mp-key-tool/
"privateKeyPath": "",
"localPath": "./",
"ignores": ["node_modules/**/*"],
"deployMode": "preview",
"previewOptions": {
"desc": "CloudBase Framework Предварительный просмотр в один клик",
"setting": {
"es6": true
},
"qrcodeOutputPath": "./qrcode.jpg",
"pagePath": "pages/index/index"
}
}
}
}
}
}
шаблон по умолчанию appid и privateKeyPath длянулевой,нуждатьсяхотетьразвивать ВОЗ填入
Облачная разработка CloudBase Framework Фреймворк «Node.js App」плагин:проходить Облачная разработка CloudBase Framework рамка будет Node приложениеодин键развертывать Облачная разработкасреда, обеспечивающая автоматическое эластичное расширение и высокую производительность Node приложение Служить,поддерживать底层развертыватьдляфункцияили Облачный хостинг, можно сочетать с другими плагинаминравиться Website Плагины и функциональные плагины обеспечивают интегрированную облачную разработку.
Функции
нравитьсяфруктыв настоящий моментуже有 Node Проект приложения
cloudbase
нравитьсяфрукты想全新开始одинпроект,Вы можете напрямую выполнить init из шаблона основного проекта.
cloudbase init
// https://docs.cloudbase.net/framework/plugins/framework-plugin-node
{
"envId": "{{envId}}",
"framework": {
"plugins": {
"server": {
"use": "@cloudbase/framework-plugin-node",
"inputs": {
// по умолчаниюapp.js
// Node Файл записи службы относительно projectPath необходимо экспортировать. app или server экземпляр, а также поддерживает экспорт асинхронного сбора данных. app из tcbGetApp Метод, метод извозвратценитьдля app или server из Пример.
"entry": "app.js",
"path": "/nodeapp", // Необходимый,доступ子путь,нравиться /node-app
"name": "nodeapp", // Необходимый,Служитьимя,нравитьсяnode-app
"projectPath": "", // Необязательно, укажите Node Служить Местосуществовать Оглавление,相对于текущийпроекткорень Оглавление
"buildCommand": "", // Необязательно, укажитестроить Заказ,Сравниватьнравитьсяnpm run build
"platform": "", // Необязательно, поддерживается базовая платформа использования. container( облачный хостинг) и function (облакофункция), по умолчаниюда function
"containerOptions": {// Необязательно, когда platform выбирать container , вы можете поддержать настройку более расширенных параметров, таких как нравиться. CPU Внутри存ждать
"cpu": 2,
"mem": 2,
},
"functionOptions": {
"timeout": 5,
"envVariables": {
"TEST_ENV": 1
},
"vpc": {
"vpcId": "xxx",
"subnetId": "xxx"
}
}
}
}
}
}
}
entry
по умолчанию app.js
Node Файл записи службы относительно projectPath необходимо экспортировать. app или server экземпляр, а также поддерживает экспорт асинхронного сбора данных. app из tcbGetApp Метод, метод извозвратценитьдля app или server из Пример.
нравиться koa Служитьиз app.js
const Koa = require('koa');
const { router } = require('./routes/');
const app = new Koa();
app.use(router.routes());
module.exports = app;
nest Служитьиз app.js
const express = require('express');
const { NestFactory } = require('@nestjs/core');
const { ExpressAdapter } = require('@nestjs/platform-express');
const { AppModule } = require('./dist/app.module');
const expressApp = express();
const adapter = new ExpressAdapter(expressApp);
exports.tcbGetApp = async () => {
const app = await NestFactory.create(AppModule, adapter);
await app.init();
return expressApp;
};
Функции
// https://docs.cloudbase.net/framework/plugins/framework-plugin-container
{
"envId": "{{envId}}",
"рамки": {
"плагины": {
"клиент": {
"use": "@cloudbase/framework-plugin-container",
"входные данные": {
"serviceName": "node-api", // Необходимый,Служитьимя,Строковый формат,нравиться node-api
"servicePath": "/node-api",// Необходимый,Служитьпуть Конфигурация, Строковый Формат, нравиться /node-api
"localPath": "./" // Необязательный,местныйкоддокументпапка相对于проекткорень Оглавлениеизпуть,по умолчаниюценить ./
}
}
}
}
}
Ссылка https://docs.cloudbase.net/framework/deploy-button.
Облачная разработкаразвертыватьшаблонссылка:https://github.com/TencentCloudBase/cloudbase-templates
документация по плагину узла https://docs.cloudbase.net/framework/plugins/framework-plugin-node
# Инициализировать яйцопроект
tcb new egg-demo
Напишите cloudbaserc.json.
{
"version": "2.0",
"envId": "test-xx",
"$schema": "https://framework-1258016615.tcloudbaseapp.com/schema/latest.json",
"framework": {
"name": "egg-starter",
"plugins": {
"node": {
"use": "@cloudbase/framework-plugin-node",
"inputs": {
"entry": "app.js",
"name": "egg-starter",
"path": "/egg-starter"
}
}
}
},
"functionRoot": "./functions",
"functions": [],
"region": "ap-guangzhou"
}
Добавить файл записи запуска
'use strict';
const { Application } = require('egg');
exports.tcbGetApp = () => {
return new Application({
env: 'prod',
});
};
развертывать
tcb framework deploy
документация по плагину узла https://docs.cloudbase.net/framework/plugins/framework-plugin-node
# Инициализировать коапроект
tcb new koa-demo
Напишите cloudbaserc.json.
{
"version": "2.0",
"envId": "test-xxx",
"framework": {
"name": "koa-starter",
"plugins": {
"node": {
"use": "@cloudbase/framework-plugin-node",
"inputs": {
"name": "koa-starter",
"path": "/koa-starter"
}
}
}
},
"functionRoot": "./functions",
"functions": [],
"region": "ap-guangzhou"
}
Исправлять
app.js
,Экспортmodule.exports = app
развертывать
tcb framework deploy
# Инициализировать проект реагирования
tcb new react-demo
Напишите cloudbaserc.json.
{
"version": "2.0",
"envId": "test-xx",
"$schema": "https://framework-1258016615.tcloudbaseapp.com/schema/latest.json",
"functionRoot": "cloudfunctions", // Облачная функция
"framework": {
"name": "react-starter",
"plugins": {
"client": {
// плагиндокумент https://docs.cloudbase.net/framework/plugins/framework-plugin-website
"use": "@cloudbase/framework-plugin-website",
"inputs": {
"buildCommand": "npm run build",
"outputPath": "build",
"cloudPath": "/react-starter", // Текущий статический хостинг /react-starter Оглавление Вниз
"envVariables": {
"REACT_APP_ENV_ID": "{{env.ENV_ID}}"
}
}
},
"server": {
"use": "@cloudbase/framework-plugin-function",
"inputs": {
"functionRootPath": "cloudfunctions",
"functions": [
{
"name": "helloworld",
"timeout": 5,
"envVariables": {},
"runtime": "Nodejs10.15",
"memory": 256,
"aclRule": {
"invoke": true
}
}
]
}
},
"auth": {
"use": "@cloudbase/framework-plugin-auth",
"inputs": {
"configs": [
{
"platform": "NONLOGIN",
"status": "ENABLE"
}
]
}
}
}
},
"functions": [],
"region": "ap-guangzhou"
}
развертывать
tcb framework deploy
# Инициализировать vueпроект
tcb new vue-demo
Напишите cloudbaserc.json.
{
"envId": "test-xx",
"version": "2.0",
"$schema": "https://framework-1258016615.tcloudbaseapp.com/schema/latest.json",
"functionRoot": "./functions",
"functions": [],
"region": "ap-guangzhou", // по умолчаниюдаap-shanghai
"framework": {
"name": "vue-hello-world",
"plugins": {
"vue": {
// плагиндокумент https://docs.cloudbase.net/framework/plugins/framework-plugin-website
"use": "@cloudbase/framework-plugin-website",
"inputs": {
"buildCommand": "npm run build",
"outputPath": "dist"
}
}
}
}
}
развертывать
tcb framework deploy
# Инициализировать гексопроект
tcb new hexo-demo
Напишите cloudbaserc.json.
{
"envId": "poetry-xx",
"version": "2.0",
"$schema": "https://framework-1258016615.tcloudbaseapp.com/schema/latest.json",
"functionRoot": "./functions",
"functions": [],
"region": "ap-guangzhou", // по умолчаниюдаap-shanghai
"framework": {
"name": "hexo-hello-world",
"plugins": {
"hexo": {
// плагиндокумент https://docs.cloudbase.net/framework/plugins/framework-plugin-website
"use": "@cloudbase/framework-plugin-website",
"inputs": {
"buildCommand": "npx hexo generate",
"outputPath": "./public"
}
}
}
}
}
развертывать
tcb framework deploy
использовать hexo Инициализировать проект из командной строки
npx hexo init hexo-hello-world
развертыватьпроект
# tcb env list Проверятьсредасписок
# развертывать
cloudbase framework deploy -e <your-env-id>
Инициализировать проект
npx vue create vue-hello-world
опубликовать проект
# tcb env list Проверятьсредасписок
# развертывать
tcb framework deploy -e <your-env-id>
существоватьпроектсередина Установить连接база данныхиз
SDK
Справочная документация
npm install @cloudbase/node-sdk
Инициализировать ссылочный адрес подключения к базе данных
import cloudbase from '@cloudbase/node-sdk';
// Уведомление Следующие параметры являются обязательными, и в документе указано, что изда не требуется.
const app = cloudbase.init({
secretId: 'xx',
secretKey: 'yy',
env: 'xx',
// корень据你создаватьиз区域来Писать,в настоящий момент Только有上海(ap-shanghai)、Гуанчжоу (ап-Гуанчжоу)
region: 'ap-shanghai'
})
// 1. Получить ссылку на базу данных
const db = app.database();
env
из Получатьадрес
secretId
иsecretKey
Получать:https://console.cloud.tencent.com/cam/capi
Tencent CloudBase Toolkit даTencent Cloud - Облачная разработкавыпускатьиз VS Code(Visual Studio Код) подключите. Вилка позволяет лучше существовать местной Облачной разработкапроектразвиватьикод调试,и轻松Воляпроектразвертыватьприезжатьоблакоконец。
С помощью плагина Tencent CloudBase Toolkit вы можете:
В то же время подключаемый модуль VS Code также поддерживает локальную и облачную отладку облачных функций, помогая быстро обнаруживать проблемы с кодом.
Создать новый проект
Уведомление:
CloudBase Toolkit
Плагин зависит отcloudbaserc.json
Конфигурациядокумент,Только有текущийпроектизкорень Оглавление Вниз存существовать cloudbaserc.json Конфигурациядокументчас
,талантиспользоватьCloudBase Toolkit
Плагины выполняют соответствующие операции.
нравитьсяфруктыты还Нет Облачная разработкапроект,Можетиспользоватьисходный化操делатьсоздаватьодин全新из Облачная разработкапроект,CloudBase Toolkit Некоторые шаблонные проекты предоставлены на выбор.
Открытьодиннулевойиздокументпапкаделатьдлякорень Оглавление
,точка Нажмите на боковую панель значка Облачная разработка,точка Нажмите на картинку ниже, чтобы щелкнуть запись в Примере
VS Code плагинвстречапо умолчаниюиспользоватьтекущий窗口Открытьдокументпапкаизкорень Оглавление Внизиз
cloudbaserc.json
Конфигурациядокумент,нравиться, если вы используете рабочую область VS Code,новстречаиспользовать工делать区серединаиз Нет.одинпроектдокументпапкакорень Оглавление Внизиз Конфигурациядокумент
о cloudbaserc.json
Подробности Конфигурациидокументиз можно найти здесь ссылка. 🔗
tcb framework deploy
один键развертывать# функцияистатический сайтодин起развертывать
tcb framework deploy
对облакофункцияруководить
развертывать/удалить/Вниз载
кодждать操делатьчас,必须选серединаоблакофункциядокументпапка
,нетновстречапотому чтодляникто法解析приезжать准确изфункцияимя,что приводит к сбою операции.
右键选серединафункциядокументпапка,точкаударятьразвертыватьоблакофункция Прямо сейчас Может。CloudBase Toolkit поддерживать同часвыбирать Несколькооблакофункцияруководитьразвертывать。
CloudBase Toolkit поддерживать两种развертыватьоблакофункцияизнаправление式:
node_modules
Оглавлениеnode_modules
Оглавление,облакофункциявстречаавтоматическийсуществовать Проволока Установить зависимостиЗагрузить функциональный код
использовать Загрузить функциональный функция кода,может бытьоблакоконецфункциякод Вниз载приезжатьместный,Во время работы,нуждатьсяхотетьвыбиратьоблакофункцияимяпереписыватьсяиз Оглавление。CloudBase Toolkit Поддерживает одновременный выбор нескольких облачных функций и загрузку кодов облачных функций.
инкрементное обновление
CloudBase Toolkit поддерживает загрузку отдельных файлов или папок в облачные функции без повторной загрузки всей облачной функции.
CloudBase Toolkit поддерживает загрузку файлов и папок в статическое хранилище веб-сайтов, а также поддерживает выбор нескольких файлов, поэтому можно выбрать и загрузить несколько файлов одновременно.
CloudBase Toolkit предоставляет два метода загрузки:
использовать CMS 扩展час Волясуществоватьтекущийсредасоздаватьоблакофункция、Облачная база данныхждатьресурс
средаRequiresuseОплата по факту
Установить Заканчивать Может看приезжатьужеразвертыватьхорошийизоблакофункция、Статические ресурсы、Облачная база данных
АвторизоватьсяразвертыватьизCMS界面操делать演示
npm install -g @cloudbase/cli@latest
Принята следующая базовая структура изглавления. Monorepo изорганизационные нормы и использование lerna Управлять
admin
:внешний интерфейс Интерфейс управленияcms-api
:RESTful API
Служитьcms-init
:CMS развернуть скрипты, связанные с инициализациейservice
:назадконец Служить,Обеспечить управление системой, связанной с из Служить.
├── build
├── community
├── packages
│ ├── admin
│ │ ├── config
│ │ ├── dist
│ │ ├── public
│ │ ├── src
│ │ │ ├── assets
│ │ │ ├── common
│ │ │ ├── components
│ │ │ ├── layout
│ │ │ ├── locales
│ │ │ ├── models
│ │ │ ├── pages
│ │ │ ├── services
│ │ │ └── utils
│ │ └── typings
│ ├── cms-api
│ │ ├── dist
│ │ ├── src
│ │ │ ├── api
│ │ │ ├── common
│ │ │ ├── guards
│ │ │ ├── interceptors
│ │ │ ├── middlewares
│ │ │ ├── services
│ │ │ └── utils
│ │ └── typings
│ ├── cms-init
│ └── service
│ ├── dist
│ ├── src
│ │ ├── common
│ │ ├── config
│ │ ├── decorators
│ │ ├── guards
│ │ ├── interceptors
│ │ ├── middlewares
│ │ ├── modules
│ │ │ ├── auth
│ │ │ ├── file
│ │ │ ├── projects
│ │ │ ├── role
│ │ │ ├── setting
│ │ │ └── user
│ │ ├── services
│ │ └── utils
│ └── typings
└── scripts
копироватьпроекткорень Оглавление Внизиз
.env.example
для.env.local
,И заполните соответствующую из Конфигурацию
# Ты из Облачная разработкасреда Id
TCB_ENVID=envId
# Имя учетной записи администратора Имя учетной записи должно быть длиннее. 4 биты, поддерживает буквы и цифры
administratorName=admin
# Пароль учетной записи администратора, от 8 до 32 символов. Пароль может состоять из букв, цифр и символов. Он не может состоять из одних букв или сохраненных цифр.
administratorPassword=123456
# CMS консольпуть,нравиться /tcb-cms/, рекомендуется использовать корневой путь /
deployPath=/
# Личное доменное имя для облачного доступа (необязательно), нравиться tencent.com
accessDomain=
TENCENTCLOUD_REGION=ap-guangzhou # средаIDМестосуществоватьизобласть
существоватьпроекткорень Оглавление Вниз Запустите следующую команду:
npm install && npm run setup
нравитьсяфрукты你использовать
npm run setup
Если в команде возникает исключение, вы можете перейти кpackages
В разделе Оглавлениеиздокумента выполните вручную.npm install
Заказ.
существоватьпроекткорень Оглавление Вниз Запустите следующую команду,встреча Воля CloudBase CMS
изуправлятьконсольразвертыватьприезжатьстатический сайт,Node Служитьразвертыватьприезжатьоблакофункциясередина
npm run deploy
Управление консолью
tcb-ext-cms-servic
:Должен Служитьпоставлять Авторизоваться Аутентификация Функция,пользовательсуществовать CMS Интерфейс управленияпроходитьпроходитьпользовательимяипароль来руководить Авторизоватьсячас,встречапроходить HTTP запросить функцию; API 接口Функция,все对Внутри容из操делатьиуправлять都встреча经过此функциявызов,Операции с контентом будут выполнять операции с базой данных на основе разрешений пользователя.
tcb-ext-cms-init
:поставлятьисходный化приложение Функция,Установить扩展назад,встречапроходить Долженфункция来руководить Статические ресурсыизразвертыватьипарольизгенерироватьинастраивать,Исправлятьсчет Числопарольилиразвертыватьпутьждать扩展параметр都встреча再次осуществлять Долженфункция来руководитьвозобновлятьtcb-ext-cms-api
:поставлять CMS RESTful API
доступность, все RESTful API
просить都встреча经过此функциявызовхранилищекартина、документждать CMS системазагрузитьиздокумент。
tcb-ext-cms-projects
Коллекция:CMS Данные системного проектаtcb-ext-cms-schemas
Коллекция:CMS содержимое системы Данные конфигурации, CMS всеизсистема Внутри容тип Конфигурация、Поле Конфигурацияждатьинформация都хранилищесуществовать Долженсобирать Внутриtcb-ext-cms-users
Коллекция:CMS Пользовательские данные системы, хранилище CMS изпользовательинформация,Включает информацию об администраторе, операторе и учетной записи.,Включает информацию о персонажеждатьtcb-ext-cms-webhooks
Коллекция:CMS система webhook сбор, хранение CMS Конфигурация системного интерфейса, CMS Система данных из изменений может быть синхронизирована с помощью обратного вызова。tcb-ext-cms-user-roles
Коллекция:CMS настройка ролей системного пользователя хранение CMS системаиз Индивидуальная информация о роли пользователяtcb-ext-cms-settings
Коллекция:CMS система Конфигурациясбор, хранение CMS системаиз настроекПожалуйста, проверьте функцию облака в окружающей среде.
tcb-ext-cms-init
изосуществлятьденьамбиции,Получать Причина отказапотому что。CloudBase CMS Установитьчаснуждатьсяхотетьиспользоватьtcb-ext-cms-init
функцияосуществлятьисходныйхимический工делать,Когда возникает исключение,встреча导致Установка не удалась。
.env.example
для .env.local
,И провести Конфигурацию на основе содержимого документа.# Ты из Облачная разработкасреда Id
ENV_ID=envId
# Имя учетной записи администратора Имя учетной записи должно быть длиннее. 4 биты, поддерживает буквы и цифры
administratorName=admin
# Пароль учетной записи администратора, от 8 до 32 символов. Пароль может состоять из букв, цифр и символов. Он не может состоять из одних букв или сохраненных цифр.
administratorPassword=123456
# CMS консольпуть,нравиться /tcb-cms/, рекомендуется использовать корневой путь /
deployPath=/
# Личное доменное имя для облачного доступа (необязательно), нравиться tencent.com
accessDomain=
TENCENTCLOUD_REGION=ap-guangzhou # средаIDМестосуществоватьизобласть
packages/service/.env.example
для packages/service/.env.local
,И провести Конфигурацию на основе содержимого документа.TCB_ENVID=test-xx # средаID
SECRETID=Идентификатор ключа # Идентификатор ключа
SECRETKEY=Ключ КЛЮЧ # КЛЮЧ
TENCENTCLOUD_REGION=ap-guangzhou # средаIDМестосуществоватьизобласть
packages/admin/public/config.example.js
для packages/admin/public/config.js
,И провести Конфигурацию на основе содержимого документа.window.TcbCmsConfig = {
// Зона доступности, по По умолчанию Шанхай, необязательно: ap-shanghai или ap-guangzhou
region: "ap-guangzhou",
// Метод маршрутизации: хэш или browser
history: "hash",
// среда Id
envId: "test-9g9512mccb349a321275b",
// Отключить уведомления
disableNotice: false,
// Отключить кнопку помощи
disableHelpButton: false,
// Доступ к облаку По умолчанию Доменное имя/пользовательское доменное имя + Путь доступа к облаку, без https символ протокола
// https://console.cloud.tencent.com/tcb/env/access
// средаid+ключ APIсерединаизappid(https://console.cloud.tencent.com/cam/capi)
// API ключ в приложении: 1258157827
cloudAccessPath: 'test-9g9512mccb349a321275b-1258157827.service.tcloudbase.com/tcb-ext-cms-service',
};
Установить зависимости
# Установить lerna полагаться
npm install
# Установить package полагаться
npm run setup
исходныйразвертывать
проходитьразвертывать动делать,курокисходный化操делать
npm run deploy
Начать разработку
Запустите следующую команду,после успеха,Можетдоступ http://localhost:8000/
Открыть CMS Интерфейс управления
cd packages/admin && npm run dev
cd packages/service && npm run dev
1. Доступ к микроприложениям Vue
Доступ к документации https://docs.cloudbase.net/cms/microapp/dev.
# Новый Vue микро Проект приложения
tcb new vue-app cms-microapp-vue
npm run build
Новый
загрузитьпосле успеха,Можетсуществоватьуправлятьназад台середина Проверять
2. реагировать на доступ к микроприложениям
Доступ к документации https://docs.cloudbase.net/cms/microapp/dev.
# Новый React микро Проект приложения
tcb new react-app cms-microapp-react
Документация https://docs.cloudbase.net/cms/usage/restful/intro.
существоватьсистеманастраиватьсередина开启APIдоступ
существоватьпроектнастраиватьсерединаиз API доступ Tab Установите разрешение на проход RESTful API доступ
Затем скопировать accessconnect,существоватьpostmanсерединадоступ Проверять效фрукты
APIАутентификациядоступ
существоватьсистеманастраиватьсередина开启APIАутентификациядоступ,исоздаватьtoken
Подскажите, что для доступа необходима авторизация интерфейса
существоватьпроситьголоваприсоединитьсясоздаватьхорошийизtokenПрямо сейчас Может
при использовании API Token вызов RESTful API час,нуждатьсяхотетьсуществовать HTTP просить
Header
Добавьте ниже из Конфигурация
Authorization: Bearer API_TOKEN
API_Token
длясуществоватьсистеманастраиватьсерединагенерироватьиз Token
,Bearer
для по своей сути является Поле, и оба связаны с пространством.
Ссылка https://docs.cloudbase.net/cms/install/mp.
Адрес документа https://docs.cloudbase.net/lowcode/introduce.
Консоль https://console.cloud.tencent.com/lowcode/overview/index
Данная статья опубликована на моем личном сайте точка,точкаударять Проверятьвсе https://blog.poetries.top/2022/06/25/cloudbase-summary