Краткое описание того, как начать работу с практиками облачной разработки
Краткое описание того, как начать работу с практиками облачной разработки

Эта статья была опубликована на моем личном сайте, нажмите, чтобы просмотреть статью полностью. https://blog.poetries.top/2022/06/25/cloudbase-summary

- Расширенное путешествие по фронтенду:https://interview2.poetries.top

1. Введение в облачную разработку

Разница между облачной разработкой и бессерверной разработкой

  • Serverless Framework даникто Служить приложение Framework, предоставляющее облачные функции SCFAPI Шлюз, объектное хранилище COS、Облачная база данных DB Ожидая объединения ресурсов из бизнес-фреймворка, разработчики могут писать бизнес-логику непосредственно на основе фреймворка без необходимости уделять особое внимание Базовые ресурсы из Конфигурация управления.
  • Облачная разработка(Tencent CloudBase,TCB)даTencent Cloudпоставлятьизоблако Родной Интеграцияразвиватьсредаи Инструментальная платформа,для разработчиков обеспечивают высокую доступность, автоматическое эластичное масштабирование и серверное облако.,Содержит расчет, хранилище, хост-ожидание. serverless возможности,Может用于облакоконец Интеграцияразвивать Различные терминалыприложение(Мини программа、Общественное мнение、Web приложение、Flutter Ожидание клиента),Помогите разработчикам единообразно создавать серверные облачные ресурсы и управлять ими.,Избегание громоздкой конструкции, эксплуатации и обслуживания сервера в процессе разработки приложения.,Разработчики могут сосредоточиться на бизнес-логике и реализации.,Нижний порог развития,Более эффективный.
  • Самая большая разница между ними заключается в:Даватьразвивать ВОЗиспользоватьиз Поддержка платформы отличается,Облачная разработка поддерживает уровни веб-апплетов, QQ и WeChat статический. сайтхостингждать Эти платформы Служить。

2. Используйте облачную разработку для создания проекта Nestjs.

Выбор продуктов для облачной разработки среди продуктов

Чтобы создать проект, вам необходимо выбрать здесь подходящую область. Если в следующий раз при создании проекта область будет другой, возможно, вы не сможете увидеть проект.

3. Создайте с помощью строительных лесов

3.1 Установка

Официальный адрес глобальной установки пакета строительных лесов

Язык кода:javascript
копировать
npm i -g @cloudbase/cli

Для упрощения ввода команду cloudbase можно сократить до tcb.

Проверьте, прошла ли установка успешно

Язык кода:javascript
копировать
tcb -v

Команда просмотра

Язык кода:javascript
копировать
tcb -h

3.2 Вход в систему

Язык кода:javascript
копировать
# CloudBase CLI Автоматически будет Открыть Облачная разработкаконсоль Получив авторизацию, вам нужно нажать кнопку согласия на авторизацию, чтобы разрешить CloudBase CLI Авторизовано Получать. нравиться У вас нет авторизации, вам нужно авторизоваться, прежде чем вы сможете это сделать.

tcb login

Вы также можете использовать следующий метод для входа в систему напрямую через ключ API, чтобы избежать интерактивного ввода.

Язык кода:javascript
копировать
tcb login --apiKeyId xxx --apiKey xxx

3.3 Создать проект

Создать проект локально

Язык кода:javascript
копировать
tcb new [options] [appName] [templateUri]
# Сравниватьнравиться
tcb new nest-cloundbase nest-starter

Проекты облачной разработки — это объекты, связанные с ресурсами среды облачной разработки. Проекты облачной разработки объединяют такие службы, как облачные функции, базы данных и хранилища файлов. Вы можете писать функции, хранить файлы и быстро управлять своим облаком через CloudBase в таких проектах облачной разработки. как функции, хранилище файлов и базы данных.

Структура файла проекта облачной разработки:

Язык кода:javascript
копировать
.
├── .gitignore
├── functions // Облачная функция
│   └── node-app
│       └── index.js
└── cloudbaserc.json // проект Конфигурациядокумент

Выберите созданную вами среду. Если среды нет, создайте новую. В этот момент откроется браузер.

местный Открытьпроекти Установить зависимости Сумка

Язык кода:javascript
копировать
npm install
npm run dev

развернуть онлайн

Язык кода:javascript
копировать
# вызов tcb framework deploy
npm run deploy

развертывать После завершения вы можетеиспользовать tcb fn list Заказ Проверятьужеразвертывать Заканчиватьизфункциясписок

3.4 Окружающая среда

Просмотреть все среды

Язык кода:javascript
копировать
tcb env list

безопасное доменное имя

когда тебе нужносуществоватьвеб-страницаприложениесерединаиспользовать Облачная Когда вы пройдете аутентификацию Служить, вам необходимо изменить доменное имя вашего веб-сайта (исходную страницу просить из доменного имени) включить безопасное доменное имяимя单середина。безопасное доменное имяда Облачная разработка Служить одобряет изпользователя просить исходные домены, все из небезопасного доменное Ни на один вопрос из списка имён ответ не будет получен.

использоватьподиз Заказ Проверятьвсе Конфигурацияизбезопасное доменное имя

Язык кода:javascript
копировать
tcb env domain list

Новыйбезопасное доменное имя

Язык кода:javascript
копировать
# Добавить доменное имя
tcb env domain create www.xxx.com

# Добавить несколько доменных имен
tcb env domain create www.domain1.com/www.domain2.com/www.domain3.com

удалитьбезопасное доменное имя

Язык кода:javascript
копировать
tcb env domain delete

Способ входа

когда тебе нужноиспользовать Облачная При работе с аутентификацией необходимо использовать Метод настройки входа。в настоящий момент Облачная разработка поддерживает индивидуальные настройки. Авторизоваться, общедоступная платформа WeChat, открытая платформа WeChat. Авторизоваться ждать несколько типов Способностей. входа。

Язык кода:javascript
копировать
# Вы можете использовать команду из ниже, чтобы просмотреть список настроек среды Конфигурация Способ. входасписок,Проверятьсреда Конфигурацияиз Способ входа,а также связано со статусом.

tcb env login list

Вы можете использоватьподиз Заказ Новый Способ входа:

Язык кода:javascript
копировать
tcb env login create

тебе нужновыбирать Конфигурацияизплатформа,Способ входасостояние,а также соответствует AppId и AppSecret,Способ войти Пожалуйста, выберите «Включить». существование не будет проверяться при добавлении метода AppId и AppSecret Действительно только при запросе AppId и AppSecret будет проверено, поэтому обязательно добавьте AppId и AppSecret действителен.

Исправлять Способ входа

Вы также можете использовать tcb env login update Уже изменено Конфигурация Способ войти,нравитьсяпереключить включенное состояние, изменить AppId и AppSecret。

динамические переменные

существовать cloudbaserc.json Заявление в "version": "2.0" Прямо сейчас можно включить новые функции, а новая версия Конфигурациядокументации поддерживает только JSON Формат

Язык кода:javascript
копировать
// динамические переменные Возможности позволяютсуществовать `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 документсередина存существоватьк Вниз变量

Язык кода:javascript
копировать
DB_HOST = localhost
DB_USER = root
DB_PASSWORD = s1mpl3

но Можетсуществовать Конфигурациядокументсерединаиспользовать

Язык кода:javascript
копировать
{
  "version": "2.0",
  "envId": "xxx",
  "functionRoot": "./functions",
  "functions": [
    {
      "name": "test",
      "envVariables": {
        "PASSWORD": "{{env.DB_PASSWORD}}"
      }
    }
  ]
}

3.5 Работа облачной функции

Конфигурация функции cloudbaserc.json

ссылка Конфигурация

Язык кода:javascript
копировать
// 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 требуется.
  • После включения шифрования кода вы не сможете существовать апплет. IDE、腾讯облакоконсольсередина Проверятьоблакофункцияизкодиинформация

CloudFunctionTrigger

имя

Требуется ли это?

тип

описывать

name

да

String

курокимя

type

да

String

куроктип,Необязательныйценить:timer

config

да

String

курок Конфигурация,существовать定часкурок Вниз,config Форматдля cron выражение

VPC

имя

Требуется ли это?

тип

описывать

vpcId

да

String

VPC Id

subnetId

да

String

Идентификатор подсети VPC

возобновлятьфункциявремя выполнения Конфигурация

Создать функционал, Cloudbase CLI Функция for предоставляет некоторые возможности умолчаниюиз Конфигурация,Поэтому вам не нужно добавлять Конфигурацияинформация也Можетпрямойразвертыватьфункция。ты也Можетпроходитьподиз Заказ Исправлятьфункцияизвремя выполнения Конфигурация

Язык кода:javascript
копировать
# возобновлять 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 Конфигурациядокументизпроект Вниз,ты Можетпрямойиспользоватьподиз Заказразвертыватьоблакофункция:

Язык кода:javascript
копировать
tcb fn deploy <functionName>

использовать fn deploy час,functionName Опцию да можно опустить, если functionName Если этот параметр опущен, Cloudbase CLI встречаразвертывать Конфигурациядокументсерединаизвсефункция:

Язык кода:javascript
копировать
# развертывать Конфигурациядокументсерединаизвсефункция
tcb fn deploy

Все параметры

Язык кода:javascript
копировать
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 облакофункциячас Может不用обозначениеоблако Функция из Конфигурация,использоватьпо умолчанию Конфигурация Прямо сейчас Можетразвертыватьоблакофункция。

облакофункцияпо умолчанию Конфигурация:

Язык кода:javascript
копировать
{
  // тайм-аут 5S
  "timeout": 5,
  // время выполнения
  "runtime": "Nodejs10.15",  // автоматический Установить зависимости
  "installDependency": true,
  // обрабатывать запись
  "handler": "index.main",
  // пренебрегать node_modules Оглавление
  "ignore": ["node_modules", "node_modules/**/*", ".git"]
}

Что делает команда развертывания?

fn deploy буду читать cloudbaserc.json документсерединаобозначение Функция из Конфигурация,и выполните следующие задания

  • Упакуйте функцию в сжатый файл и загрузите код функции.
  • развертыватьфункция Конфигурация,Сумка括тайм-аут、сеть Конфигурацияждать。
  • развертыватьфункциякурок。
Управление облачными функциями
  • Вы можете использоватьподиз Заказ列出всеоблакофункция,Проверятьфункцияиз基本информация:
Язык кода:javascript
копировать
tcb fn list

  • Укажите количество возвращаемых элементов и смещение

по умолчанию情况Вниз,fn list Команда выведет список только первых 20 функции, нравиться Если у вас есть больше функций, вам нужно перечислить другие функции. можете Пройти Следующая опция указывает, что команда возвращает длину данных также Данные Из Смещения:

Язык кода:javascript
копировать
-l, --limit <limit>    Длина возвращаемых данных, по умолчаниюценитьдля 20
-o, --offset <offset>  Смещение данных, по умолчаниюценитьдля 0
Язык кода:javascript
копировать
# перед возвращением 10 функция и информация
tcb fn list -l 10
# Вернуться на страницу 3 - 22 функция и информация(Сумка含 3 и 22)
tcb fn list -l 20 -o 2
  • Скачать код облачной функции
Язык кода:javascript
копировать
tcb fn code download <functionName> [destPath]

По умолчанию код функции загружается в functionRoot Вниз,кфункцияимяделатьдляхранилищедокументпапка,ты Можетобозначениефункциямагазиниздокументпапкаадрес,функцияизвсекоддокументвстречапрямой Вниз载приезжатьобозначениеиздокументпапкасередина。

  • Просмотр сведений о функции
Язык кода:javascript
копировать
# Проверять vue-echo Функция из Подробности
tcb fn detail vue-echo

  • удалить функцию
Язык кода:javascript
копировать
# удалить app функция
tcb fn delete app

# удалить Конфигурациядокументсерединаизвсеизфункция
tcb fn delete
  • копироватьфункция
Язык кода:javascript
копировать
# копировать app функциядля app2 функция
tcb fn copy app app2
курок

курокдапо определенным правиламкурокфункцияизмодульизабстрактный,CloudBase облакофункцияв настоящий момент Поддерживает только定часкурок。

нравитьсяфруктыоблакофункциянуждатьсяхотеть定час/Выполнять регулярно,Прямо сейчас定часкурок,Вы можете использоватьоблакофункция定часкурок。уже Конфигурация定часкурокизоблакофункция,Будет ли существовать соответствующая временная точка автоматически курок,функцияиз返回结фрукты不встреча返回Даватьвызовнаправление。

Язык кода:javascript
копировать
{
  "version": "2.0",
  "envId": "xxx",
  "functions": [
    {
      // triggers Массив Поледакурок, на данный момент поддерживает только один курок, Прямой Можно заполнить только один массив, несколько нельзя добавить.
      "triggers": [
        {
          // name: курокиз Имя,Смотрите правила ниже
"name": "myTrigger",
               // тип: куроктип, на данный момент поддерживает только timer (Прямо сейчас定часкурок)
          "type": "timer",
          // config: курок Конфигурация,существовать定часкурок Вниз,config Форматдля cron выражение, правила объяснены ниже
          "config": "0 0 2 1 * * *"
        }
      ]
    }
  ]
}

создаватьфункциякурок

Язык кода:javascript
копировать
# создавать app функция Конфигурацияизкурок
tcb fn trigger create app

Cloudbase CLI будет прочитано автоматически cloudbaserc.json документсерединаобозначениефункция Конфигурацияиз定часкурок,исоздаватьоблакофункциякурок。нравитьсяфрукты Конфигурациядокументсередина Нет Сумка含курок Конфигурация,Тогда создаст терпит неудачу.

одинфункция Может Сумка含Несколькокурок,одинкурок Сумка含了к Вниз 3 个主хотетьинформация:nametypeconfig

Язык кода:javascript
копировать
{
  // name: курокиз Имя,Смотрите правила ниже
"name": "myTrigger",
// тип: куроктип, на данный момент поддерживает только timer (Прямо сейчас定часкурок)
  "type": "timer",
  // config: курок Конфигурация,существовать定часкурок Вниз,config Форматдля cron выражение
  "config": "0 0 2 1 * * *"
}

Если имя функции не указано, Cloudbase CLI создаст cloudbaserc.json документ Сумка含извсефункцияизвсекурок

удалить функциюкурок

Язык кода:javascript
копировать
# удалить app функцияизимядля trigger изкурок
tcb fn trigger delete app trigger

Если имя функции не указано, Cloudbase CLI будет удалено cloudbaserc.json документ Сумка含извсефункцияизвсекурок。Когда указано толькофункцияимячас,Cloudbase CLI будет удаленообозначениефункцияизвсекурок,当同часобозначение了функцияимяикурокимячас,Cloudbase CLI Толькобудет удаленообозначениеизкурок。

Язык кода:javascript
копировать
# удалить cloudbaserc.json документсерединавсефункцияизвсекурок
tcb fn trigger delete

# удалить функцию app извсекурок
tcb fn trigger delete app

# удалить функцию app изкурок trigger
tcb fn trigger delete app trigger

курок ПРАВИЛА

  • Тайминг курокимя (имя) : Максимальная поддержка 60 персонажи, поддерживаются a-zA-Z0-9- и _。必须к字母开голова,且одинфункция Вниз不поддерживать同имяиз Несколько定часкурок。
  • 定часкуроккурокцикл(config):обозначениеизфункциякурокчас间。Заполните пользовательские критериииз Cron выражение来决定何часкурокфункция。有关 Cron выражениеиз Для получения дополнительной информации перейдите по ссылке ниже.

Выражение 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 точкакурок
обновление кода

当тыизфункциякод发生改变час,Вы можете использоватьподиз Заказвозобновлятьтыизоблакофункцияизкод:

Язык кода:javascript
копировать
# возобновлять app функцияизкод
tcb fn code update app

fn code update команда и fn deploy команда изглавное отличиеда:fn code update Заказ Тольковстречавозобновлятьфункцияизкода также Запись о выполнении,不встреча Исправлятьфункцияиздругой Конфигурация,и fn deploy Заказновстреча Исправлятьфункцияизкод、Конфигурацияа такжекурокждать。

версия функции

Вы можете пройтиподиз Заказ Проверятьверсия функции:

Язык кода:javascript
копировать
tcb fn list-function-versions <name>

журнал функций

Вы можете пройтиподиз Заказ Распечататьоблакофункцияизбегатьденьамбиции,использовать此Заказчас必须обозначениефункцияизимя:

Язык кода:javascript
копировать
# Проверять vue-echo функцияизвызовденьамбиции
tcb fn log vue-echo

По умолчанию Cloudbase CLI распечатывает последние 20 сообщений в блоге. К команде пройтисуществовать добавляются следующие доступные параметры, чтобы указать условия фильтра для возврата дняамбициииз:

Язык кода:javascript
копировать
-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документ
Язык кода:javascript
копировать
{
  "version": "2.0",
  "envId": "poetry-prod-xx",
  "functionRoot": "./cloudfunctions",
  "functions": [
    {
      "name": "vue-echo",
      "timeout": 5,
      "runtime": "Nodejs10.15",
      "installDependency": true
    }
  ]
}
  • развертывать,Выполните следующую команду,развертыватьобозначениефункцияимя
Язык кода:javascript
копировать
tcb fn deploy vue-echo

  • Проверятьужеразвертыватьизфункция
Язык кода:javascript
копировать
tcb fn list

3.6 Статический хостинг веб-сайтов

Облачная разработкадля разработчиков обеспечивает статический хостинг веб-страниц с учетом возможностей, статические ресурсы (HTML, CSS, JavaScript, шрифты ждут) с распределением по объектному хранилищу COS Иметь несколько периферийных сетейточкаиз CDN Обеспечьте поддержку. Вы можете существовать консоль Tencent Cloud для статического сайтизразвертывать,поставлять Даватьтыизпользовательдоступ。в настоящий момент Облачная разработка возможность хостинга статических веб-страниц существует только Tencent Cloud Облачная поддержка разработкиконсоль, мини-программа IDE Боковая консоль пока не поддерживается.

Только метод оплаты для изсреда с оплатой по факту использования может активировать возможность хостинга статических веб-страниц, а среда метода предоплаты - не может.

использовать CLI Прежде чем использовать службу статического веб-сайта, перейдите в консоль облачной разработки, чтобы активировать службу статического веб-сайта.

Вся суммаразвертывать

Облачная разработка CLI Обеспечивает прямую команду развертывания документов веб-сайта, существует необходимость развертывания папки документов Оглавление, запуск напрямую. tcb hosting deploy Заказ Прямо сейчас можно конвертировать все текущие документы, разверточный статический сайтсередина。

Язык кода:javascript
копировать
# dist строить Оглавление
cd dist
# развертыватьвседокумент
tcb hosting deploy -e envId

Удалить файлы

Вы можете использоватьподиз Заказудалитьстатический сайтизхранилищенулевой间серединаиздокументилидокументпапка

Язык кода:javascript
копировать
# cloudPath длядокументилидокументпапкаизотносительный корень Оглавлениеизпуть,для Оглавление/документимя изформа,нравиться index.js、static/css/index.js ждать

tcb hosting delete cloudPath -e envId

Удалить все файлы

облакоконецпутьдлянулевойчас,выражать Удалить все файлы

Язык кода:javascript
копировать
tcb hosting delete -e envId

Посмотреть список файлов

Вы можете использоватьподиз Заказразвертыватьвыставкастатический сайтхранилищенулевой间серединадокумент

Язык кода:javascript
копировать
tcb hosting list -e envId

4. Аутентификация входа в облачную разработку

CloudBase обеспечивает кроссплатформенную функцию авторизации аутентификации.,Вы можете построить свою собственную пользовательскую систему на основе этого приложения.,Включая, но не ограничиваясь:

  • для Пользователю присвоен глобально уникальный идентификатор uid;
  • Хранить личную информацию;
  • Относится к различным Способам входа;
  • Управление пользователями разрешениями на доступ к данным и ресурсам;
  • Пользовательские строки собираются и анализируются.

В то же время CloudBase Авторизоваться Аутентификация также является важным средством защиты ваших ресурсов, CloudBase отправляет клиенту каждый запрос,Будет проведена проверка личности и разрешений.,Предотвратите потребление и кражу ваших ресурсов злоумышленниками.

4.1 Аутентификация входа в систему

за вход CloudBase пользователи имеют соответствующий CloudBase счет Число,пользовательпроходитьэтот аккаунт Числодоступвызов CloudBase данные и ресурсы.

  • Каждая учетная запись имеет глобально уникальный UID,Прямо сейчассчет Число ID, как уникальная личность пользователя
  • Каждая учетная запись может добавлять и изменять информацию о пользователе.
  • Каждый счет Число кроме начального из Способ Помимо входа, вы также можете связать другие Способности. входа

Сохранение статуса входа

Вы можете указать, как долго будет сохраняться статус «Авторизоваться нравиться». по умолчаниюдля local,Связанные параметры включают в себя

примернравиться,Приложение для веб-страницы,оптимальныйвыбиратьда local,Прямо сейчас существует Сеанс пользователя сохраняется даже после того, как пользователь закрывает браузер. так,Пользователям не нужно повторять «Авторизоваться» каждый раз, когда они заходят на эту страницу.,Не доставляйте неудобств пользователям.

Токены доступа и токены обновления

Вход пользователя CloudBase 之назад,встреча获得доступжетон(Access Token) 작для доступ CloudBase учетные данные, токен доступа по По умолчанию срок действия составляет два часа.

При входе в систему вы также получите токен обновления (Refresh Token), который по умолчанию действителен в течение 30 дней и используется для получения нового токена доступа после истечения срока действия токена доступа.

CloudBase клиент SDK Токен будет автоматически поддерживаться и обновляться, а срок действия будет поддерживаться автоматически. Разработчикам не нужно делать ничего особенного. этот процесс.

Войти анонимно из刷新жетон(Refresh Token)встречасуществоватьприезжать Ожидатьназадавтоматический续Ожидать,Для достижения долгосрочного статуса анонимно из Войти.

Управление пользователями

Получить текущего вошедшего в систему пользователя

  • подписка Авторизоватьсясостояние变химическийперезвонитьфункция

Получить Текущего пользователя,рекомендоватьсуществовать Auth 对象上настраиватьодинперезвонитьфункция,Всякий раз, когда изменяется статус пользователя Входа,встречакурок这个перезвонитьфункция,и获得текущийиз LoginState

Язык кода:javascript
копировать
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

Язык кода:javascript
копировать
const user = auth.currentUser;

if (user) {
  // На данный момент пользователь уже
} else {
  // Нет Авторизоваться
}

Получить профиль пользователя

Вы можете пройти User Различные свойства объекта для получения информации профиля пользователя:

Язык кода:javascript
копировать
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 направление法来возобновлятьпользовательиз个人资料информация。примернравиться:

Язык кода:javascript
копировать
const user = auth.currentUser;

user
  .update({
    nickName: "Tony Stark",
    gender: "MALE",
    avatarUrl: "https://..."
  })
  .then(() => {
    // возобновлятьпользователь资料成功
  });

Обновить информацию профиля пользователя

Для многосрочного приложения,пользователь Может能существовать其середина某个конец上возобновлятьжить самомуиз个人资料информация,В это время другим терминалам может потребоваться обновить информацию:

Язык кода:javascript
копировать
const user = auth.currentUser;

// Обновить информацию о пользователе
user.refresh().then(() => {
  // После обновления Получить информацию о пользователе Прямо на данный момент последняя информация
  const { nickName, gender, avatarUrl } = user;
});
Связь с аккаунтом

Связанный логин WeChat

  • Пользователи могут выбрать любой способ. входа(Кроме WeChatАвторизоваться)Авторизоваться Облачная разработка
  • Получить поставщика:
Язык кода:javascript
копировать
const auth = app.auth();
const provider = auth.weixinAuthProvider({
  appid: "....",
  scope: "snsapi_base"
});
  • Перенаправление на страницу провайдера для Авторизации:
Язык кода:javascript
копировать
auth.currentUser.linkWithRedirect(provider);

пользовательсуществовать Вичатизстраница Авторизоваться之назад,Вы будете перенаправлены обратно на свою страницу. Затем,Можетсуществоватьстраница加载часпроходитьвызов Provider.getLinkRedirectResult() Чтобы получить связанные результаты:

Язык кода:javascript
копировать
const provider = auth.weixinAuthProvider();

provider.getLinkRedirectResult().then((result) => {
  // Ассоциация успешна
});

Связанный пользовательский логин

  • Пользователи могут выбрать любой способ. входа(Кроме пользовательских Авторизоваться)Авторизоваться Облачная разработка;
  • использовать User.linkWithTicket,Получать Настроить Авторизоваться Ticket Наконец, свяжите пользовательского пользователя:
Язык кода:javascript
копировать
const auth = app.auth();
const ticket = "......"; // Настроить Авторизоваться Ticket
auth.currentUser.linkWithTicket(ticket).then((result) => {
  // Ассоциация успешна
});

Войдите, используя связанный адрес электронной почты и пароль.

  • Пользователи могут выбрать любой способ. входа Авторизоваться Облачная разработка
  • возобновлятьпользовательизпароль:
Язык кода:javascript
копировать
const auth = app.auth();
auth.currentUser.updatePassword(password).then(() => {
  // Пароль успешно установлен
});
  • возобновлятьпользовательиз Почта,После того, как пользователь нажмет письмо с подтверждением,удобный Ассоциация успешна:
Язык кода:javascript
копировать
auth.currentUser.updateEmail(email).then(() => {
  // Письмо с подтверждением успешно отправлено
});

Войдите в систему, используя соответствующее имя пользователя и пароль.

  • Пользователи могут выбрать любой способ. входа(удалять Войти анонимно)Авторизоваться Облачная разработка:
Язык кода:javascript
копировать
// к Почта Авторизоватьсядляпример
await app.auth().signInWithEmailAndPassword(email, password);
  • Привязать Авторизоватьсяиз имени пользователя:
Язык кода:javascript
копировать
await app.auth().currentUser.updateUsername(username); // Привязать имя пользователя
  • обязательностьпосле успеха,Тогда вы можете использовать имя пользователя и пароль Авторизоваться:
Язык кода:javascript
копировать
const loginState = await app.auth().signInWithUsernameAndPassword(username, password); // Логин Пароль Авторизоваться
лучшие практики

Избегайте повторных входов в систему

Перед выполнением процедуры Авторизации,Настоятельно рекомендуем сначала определить, является ли клиент уже авторизованным CloudBase.,нравитьсяуже Авторизоваться,Тогда нет необходимости выполнять процедуру Авторизации.,Во избежание бессмысленного повторения «Авторизоваться».

Язык кода:javascript
копировать
const auth = app.auth();

// приложение При инициализации
if (auth.hasLoginState()) {
  // Уже в это время Авторизоваться
} else {
  // В настоящее время авторизация отсутствует, выполните процедуру из Авторизации.
}

Сохранение статуса входа

Приложение для веб-страницы,оптимальныйвыбиратьда local,Прямо сейчас существует Сеанс пользователя сохраняется даже после того, как пользователь закрывает браузер. так,Пользователям не нужно повторять «Авторизоваться» каждый раз, когда они заходят на эту страницу.,Не доставлять неудобства пользователям

Язык кода:javascript
копировать
const auth = app.auth({
  persistence: "local"
});

4.2 Способ входа в систему

Подробную информацию см. на странице https://docs.cloudbase.net/authentication/method/anonymous.

5. Интегрированное развертывание CloudBase Framework (рекомендуемый метод)

Адрес документа https://docs.cloudbase.net/framework/index.

CloudBase Framework да Облачная разработка официального продукта из облако Родной интегрированного инструмента развертывания, который может помочь разработчикам конвертировать статические сайт、назадконец Служитьи Мини программаждатьприложение,Развернуть в один клик до Облачная разработка Бессерверная архитектура с облачной платформы,Автоматическое масштабирование и отсутствие необходимости беспокоиться об эксплуатации и обслуживании.,Сосредоточьтесь на самом приложении,Нет необходимости заботиться об основных ресурсах конфигурации.

5.1 Введение в приложения для облачной разработки

Облачная разработкаприложение Может理解длябегатьсуществовать Облачная разработкасредаизприложение,примернравитьсяодин Сумка含前назадконец、база данныхждатьспособностьждать Служить,Можетпроходитьодин键развертывать,прямойразвертыватьсуществовать Облачная разработкасредасередина,использовать Облачная разработка нижнего слоя из различных предметов Serverless ресурсов и пользоваться преимуществами гибкой эксплуатации и отсутствия необходимости в обслуживании.

один Облачная разработкуприложение можно разобрать на три части, включая код, декларативная Конфигурацияипеременные средыинформация。

Файл конфигурации платформы Cloudbase 5.2.

существоватьиспользовать 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#Список поддерживаемых в настоящее время плагинов

Пример

Язык кода:javascript
копировать
{
  "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"
          }]
        }
      }
    }
  }
}
  1. жизненный цикл

Конфигурациясуществоватьстроитьразвертыватьжизненный цикл前назад,нуждаться Чтобы выполнить Настроить动делать

Язык кода:javascript
копировать
{
  "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"
            }
          }
        ]
      }
    }
  }
}
  1. зависимости приложения

существуют сценарии развертывания в облаке одним щелчком мыши, которые необходимо доводить до совершенства в зависимости от приложения Конфигурацияобъявитьзависимости приложенияиз Расширить ресурсыипеременные средыпараметр

Язык кода:javascript
копировать
  "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" // Сообщение об ошибке при неудачной проверке
          }
        }
      }
    }
  }
}
  1. Переменные шаблона

Конфигурациядокументподдерживатьдинамические переменныеизхарактеристика。существовать cloudbaserc.json Заявление в "version": "2.0" Прямо сейчас можно включить.

динамические переменные Возможности позволяютcloudbaserc.json Конфигурациядокументсерединаиспользоватьдинамические переменные,отпеременные средысередина Получатьдинамичныйизданные。использовать{}объемное определение длядинамические переменные,Источник данных можно указать в изценить. Пример нравиться`{env.ENV_ID}:

  • Нет.один步:существоватьпроекткорень Оглавление Внизсоздавать cloudbaserc.json и .env документ
Язык кода:javascript
копировать
.
├─cloudbaserc.json
├─.env
  • Шаг 2. Добавьте переменные в существующий документ .env.
Язык кода:javascript
копировать
ENV_ID=pro-123
DB_NAME=pro_user
  • Нет.三步:существовать cloudbaserc.json документ Внутрипроходить env Примечание入Переменные шаблона
Язык кода:javascript
копировать
{
  "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}}"
            }
          }
        }
      }
    }
  }
}
  • Шаг 4. Развертывание приложения в один клик.
Язык кода:javascript
копировать
tcb framework deploy
  1. Переключатель режима

Предполагается, что вы уже завершили описанную выше настройку переменных шаблона.

  • Нет.один步:существоватьпроекткорень Оглавлениедополнительное дополнение .env.dev документ
Язык кода:javascript
копировать
.
├─cloudbaserc.json
├─.env
├─.env.dev
  • Нет.二步:существовать .env.dev документ Добавить переменные
Язык кода:javascript
копировать
ENV_ID=dev-123
DB_NAME=dev_user
  • Нет.三步:развертыватьприложениечасиспользовать --mode Укажите режим
Язык кода:javascript
копировать
cloudbase framework deploy --mode dev

Полный Пример

Язык кода:javascript
копировать
// 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"
          }
        }
      }
    }
  }
}

другойпроект Конфигурациядокумент Пример

Язык кода:javascript
копировать
// 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"
          }
        }
      }
    }
  }
}

5.3 Плагины

Плагины могут обработкаприложения из отдельных независимых подразделений по строительству, развертыванию, разработке, отладке процесса ожидания. Примернравиться website Плагины могут обрабатывать такие модули, как статические веб-сайты и узлы. Плагины могут обрабатывать koa 、express ждать node приложение.

плагиниз Конфигурация Писатьсуществовать cloudbaserc.json В документе конкретная ссылка находится в руководстве по настройке. Плагин Конфигурация может быть заполнена вручную или сгенерирована автоматически.

Автоматическое обнаружение и создание плагина Конфигурация

Можетсуществоватьпроект Оглавление Внизпрямойбегать cloudbase Заказруководить Автоматическое обнаружение и создание плагина Конфигурациядокументиразвертывать

Язык кода:javascript
копировать
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 📦 установка плагинов

手动填Писатьплагин Конфигурация

Язык кода:javascript
копировать
{
  "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-plugin-website один键развертыватьвеб-сайтприложение
  • @cloudbase/framework-plugin-node один键развертывать Node приложение(поддерживать底层развертыватьдляфункцияили облачный хостинг)
  • @cloudbase/framework-plugin-nuxt один键развертывать Nuxt SSR приложение
  • @cloudbase/framework-plugin-function один键развертыватьфункцияресурс
  • @cloudbase/framework-plugin-container один键развертыватьоблакохостингконтейнер Служить
  • @cloudbase/framework-plugin-database один键заявление式развертывать Облачная разработка NoSQL Облачная база данных
  • @cloudbase/framework-plugin-deno один键развертывать Deno приложение
  • @cloudbase/framework-plugin-next один键развертывать Next SSR приложение
  • @cloudbase/framework-plugin-mp Развернуть приложение WeChat в один клик
  • @cloudbase/framework-plugin-auth один键настраивать Авторизоваться Конфигурация

Знакомство с часто используемыми плагинами

Плагин статического сайта

Облачная разработка CloudBase Framework рамка「Function」плагин:проходить Облачная разработка CloudBase Framework рамка будетстатический сайтодин键развертывать Облачная разработкасреда, обеспечение доступной производственной средыиз CDN Ускоренное автоматическое эластичное масштабирование с высокопроизводительного сайта Служить. Можно комбинировать с другими плагинаминравиться. Плагин узла、функция Плагины обеспечивают интегрированную облачную разработку.

  • Экономия затрат: масштабирование ресурсов, эластичное расширение и сжатие, гибкое выставление счетов, значительная экономия затрат на ресурсы.
  • Минималистская конфигурация: система автоматического обнаружения,никто须Конфигурация,同часподдерживать Нетиспользоватьрамкаизчистая статикапроект
  • Поддержка фреймворка: никто缝поддерживать Роднойивнешний интерфейсрамкастроитьизпроект
    • Vue
    • React
    • Next SPA
    • Nuxt SPA
    • VuePress

нравитьсяфрукты想全新开始одинпроект,Вы можете напрямую выполнить шаблон инициализации на главном сайте проекта.

Язык кода:javascript
копировать
# развертывать
cloudbase framework deploy

cloudbase init 之назадсоздаст Облачная разработкаиз Конфигурациядокумент cloudbaserc.json,Можетсуществовать Конфигурациядокументиз plugins Изображения из фильма «Ри» подключить Конфигурация

Язык кода:javascript
копировать
{
  "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"] // Статические ресурсыразвертыватьчаспренебрегатьиздокументпуть,поддерживать Подстановочный знак
        }
      }
    }
  }
}
Плагин облачной функции

Функции

  • Экономия затрат: масштабирование ресурсов, эластичное расширение и сжатие, гибкое выставление счетов, значительная экономия затрат на ресурсы.
  • Минималистская конфигурация: система автоматического обнаружения,никто须Конфигурация
  • 语言поддерживать:
    • Node.JS
    • PHP
    • Java
Язык кода:javascript
копировать
{
  "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 Настройки рамки в один клик. Среда Авторизоваться Конфигурация.

  • поддерживать未Авторизоваться、Войти анонимно Авторизоватьсянастраивать
  • Открытые платформы будут поддерживаться в будущем.、Общественное мнение、счет Числопарольждатьдругой Способ входа Конфигурация
Язык кода:javascript
копировать
// 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 плагин、Плагин узла实现облакоконецодин体развивать。

Язык кода:javascript
копировать
// 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", // описыватьинформация
            }
          ]
        }
      }
    }
  }
}
Плагин мини-программы WeChat

Облачная разработка CloudBase Framework рамка「Мини программа」плагин:проходить Облачная разработка CloudBase Framework Framework одним щелчком мыши развертывает приложение WeChat.

Язык кода:javascript
копировать
// 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.js
    • Express
    • Koa

нравитьсяфруктыв настоящий моментуже有 Node Проект приложения

Язык кода:javascript
копировать
cloudbase

нравитьсяфрукты想全新开始одинпроект,Вы можете напрямую выполнить init из шаблона основного проекта.

Язык кода:javascript
копировать
cloudbase init
Язык кода:javascript
копировать
// 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

Язык кода:javascript
копировать
const Koa = require('koa');
const { router } = require('./routes/');

const app = new Koa();

app.use(router.routes());

module.exports = app;

nest Служитьиз app.js

Язык кода:javascript
копировать
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;
};
Плагин контейнера облачного хостинга

Функции

  • Экономия затрат: масштабирование ресурсов, эластичное расширение и сжатие, гибкое выставление счетов, значительная экономия затрат на ресурсы.
  • Минималистская конфигурация: система автоматического обнаружения,никто须Конфигурация
  • 语言поддерживатьирамкаподдерживать广泛
    • Node.JS
    • PHP
    • Java
    • Go
    • Dart
    • Deno
Язык кода:javascript
копировать
// 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": "./" // Необязательный,местныйкоддокументпапка相对于проекткорень Оглавлениеизпуть,по умолчаниюценить ./
        }
      }
    }
  }
}

5.4 Создание кнопки развертывания в один клик

Ссылка https://docs.cloudbase.net/framework/deploy-button.

5.5 Демонстрация облачной разработки и развертывания приложений

Облачная разработкаразвертыватьшаблонссылка:https://github.com/TencentCloudBase/cloudbase-templates

Облачная разработкаразвертыватьEgg

документация по плагину узла https://docs.cloudbase.net/framework/plugins/framework-plugin-node

Язык кода:javascript
копировать
# Инициализировать яйцопроект
tcb new egg-demo

Напишите cloudbaserc.json.

Язык кода:javascript
копировать
{
  "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"
}

Добавить файл записи запуска

Язык кода:javascript
копировать
'use strict';

const { Application } = require('egg');

exports.tcbGetApp = () => {
  return new Application({
    env: 'prod',
  });
};

развертывать

Язык кода:javascript
копировать
tcb framework deploy

Облачная разработкаразвертыватьKoa

документация по плагину узла https://docs.cloudbase.net/framework/plugins/framework-plugin-node

Язык кода:javascript
копировать
# Инициализировать коапроект
tcb new koa-demo

Напишите cloudbaserc.json.

Язык кода:javascript
копировать
{
  "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

развертывать

Язык кода:javascript
копировать
tcb framework deploy
Облачная разработкаразвертыватьReact
Язык кода:javascript
копировать
# Инициализировать проект реагирования
tcb new react-demo

Напишите cloudbaserc.json.

Язык кода:javascript
копировать
{
  "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"
}

развертывать

Язык кода:javascript
копировать
tcb framework deploy

Облачная разработкаразвертыватьVue
Язык кода:javascript
копировать
# Инициализировать vueпроект
tcb new vue-demo

Напишите cloudbaserc.json.

Язык кода:javascript
копировать
{
    "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"
                }
            }
        }
    }
}

развертывать

Язык кода:javascript
копировать
tcb framework deploy
развертыватьhexo
Язык кода:javascript
копировать
# Инициализировать гексопроект
tcb new hexo-demo

Напишите cloudbaserc.json.

Язык кода:javascript
копировать
{
    "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"
                }
            }
        }
    }
}

развертывать

Язык кода:javascript
копировать
tcb framework deploy

6. Используйте облачную разработку и развертывание веб-приложений.

6.1 Развертывание гексо

использовать hexo Инициализировать проект из командной строки

Язык кода:javascript
копировать
npx hexo init hexo-hello-world

развертыватьпроект

Язык кода:javascript
копировать
# tcb env list Проверятьсредасписок

# развертывать
cloudbase framework deploy -e <your-env-id>

6.2 Развертывание Vue

Инициализировать проект

Язык кода:javascript
копировать
npx vue create vue-hello-world

опубликовать проект

Язык кода:javascript
копировать
# tcb env list Проверятьсредасписок

# развертывать
tcb framework deploy -e <your-env-id>

7. Использование баз данных NoSQL в облачной разработке

существоватьпроектсередина Установить连接база данныхизSDKСправочная документация

Язык кода:javascript
копировать
npm install @cloudbase/node-sdk

Инициализировать ссылочный адрес подключения к базе данных

Язык кода:javascript
копировать
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

8. Используйте Toolkit для управления проектами облачной разработки в VS Code.

8.1 Введение в базовое использование

Tencent CloudBase Toolkit даTencent Cloud - Облачная разработкавыпускатьиз VS Code(Visual Studio Код) подключите. Вилка позволяет лучше существовать местной Облачной разработкапроектразвиватьикод调试,и轻松Воляпроектразвертыватьприезжатьоблакоконец。

С помощью плагина Tencent CloudBase Toolkit вы можете:

  • существоватьместный快速создавать Облачная разработкапроект
  • Быстро создавайте облачные функции из нескольких шаблонов.
  • 同步облакоконецизоблакофункциясписок,и Загрузить функциональный код для местного
  • развертыватьоблакофункцияприезжатьоблакоконец,ируководитьоблакоконец Установить зависимости
  • 对облакофункция Управлять,нравитьсяудалитьоблакофункция、Проверятьоблакофункция详细информация
  • инкрементное обновлениеоблакофункциядокумент
  • удалитьоблакоконецизоблакофункциядокумент
  • развернуть статический хостингдокумент в облако

В то же время подключаемый модуль VS Code также поддерживает локальную и облачную отладку облачных функций, помогая быстро обнаруживать проблемы с кодом.

Создать новый проект

УведомлениеCloudBase Toolkit Плагин зависит от cloudbaserc.json Конфигурациядокумент,Только有текущийпроектизкорень Оглавление Вниз存существовать cloudbaserc.json Конфигурациядокументчас,талантиспользовать CloudBase Toolkit Плагины выполняют соответствующие операции.

нравитьсяфруктыты还Нет Облачная разработкапроект,Можетиспользоватьисходный化操делатьсоздаватьодин全新из Облачная разработкапроект,CloudBase Toolkit Некоторые шаблонные проекты предоставлены на выбор.

Открытьодиннулевойиздокументпапкаделатьдлякорень Оглавление,точка Нажмите на боковую панель значка Облачная разработка,точка Нажмите на картинку ниже, чтобы щелкнуть запись в Примере

  • Выберите регион
  • Выберите регионально-ассоциированноеизсредаID
  • выбиратьпереписыватьсяизшаблон
  • Проект успешно создан
  • Структура каталогов проекта

VS Code плагинвстречапо умолчаниюиспользоватьтекущий窗口Открытьдокументпапкаизкорень Оглавление Внизиз cloudbaserc.json Конфигурациядокумент,нравиться, если вы используете рабочую область VS Code,новстречаиспользовать工делать区серединаиз Нет.одинпроектдокументпапкакорень Оглавление Внизиз Конфигурациядокумент

о cloudbaserc.json Подробности Конфигурациидокументиз можно найти здесь ссылка. 🔗

  • к上操делать Можетиспользоватьtcb framework deployодин键развертывать
Язык кода:javascript
копировать
# функцияистатический сайтодин起развертывать
tcb framework deploy

8.2 Работа с облачной функцией

对облакофункцияруководитьразвертывать/удалить/Вниз载кодждать操делатьчас,必须选серединаоблакофункциядокументпапка,нетновстречапотому чтодляникто法解析приезжать准确изфункцияимя,что приводит к сбою операции.

右键选серединафункциядокументпапка,точкаударятьразвертыватьоблакофункция Прямо сейчас Может。CloudBase Toolkit поддерживать同часвыбирать Несколькооблакофункцияруководитьразвертывать。

CloudBase Toolkit поддерживать两种развертыватьоблакофункцияизнаправление式:

  • развертыватьоблакофункция(загрузитьвседокумент):Прямо сейчас Воляфункция Оглавление Внизизвседокументзагрузить,也Сумка含 node_modules Оглавление
  • развертыватьоблакофункция(облакоконец Установить зависимости):Толькоразвертыватькоддокумент,встречапренебрегать node_modules Оглавление,облакофункциявстречаавтоматическийсуществовать Проволока Установить зависимости

  • Проверятьфункция Конфигурацияинформация

Загрузить функциональный код

использовать Загрузить функциональный функция кода,может бытьоблакоконецфункциякод Вниз载приезжатьместный,Во время работы,нуждатьсяхотетьвыбиратьоблакофункцияимяпереписыватьсяиз Оглавление。CloudBase Toolkit Поддерживает одновременный выбор нескольких облачных функций и загрузку кодов облачных функций.

инкрементное обновление

CloudBase Toolkit поддерживает загрузку отдельных файлов или папок в облачные функции без повторной загрузки всей облачной функции.

8.3 Статический сайт

CloudBase Toolkit поддерживает загрузку файлов и папок в статическое хранилище веб-сайтов, а также поддерживает выбор нескольких файлов, поэтому можно выбрать и загрузить несколько файлов одновременно.

CloudBase Toolkit предоставляет два метода загрузки:

  • Загрузка на статический хостинг: Вам необходимо ввести путь к папке документа(папки)издокумента облачного хранилища.,Выбранный документ (папка) будет загружен по этому пути.
  • Загрузить на статический хостинг (корневое Оглавление): Выбранный документ (папка) будет загружен непосредственно в корень Оглавление.

9. Система управления контентом CloudBase CMS

  • Документация: https://docs.cloudbase.net/cms/intro.
  • Github:https://github.com/TencentCloudBase/cloudbase-extension-cms
  • CloudBase CMS да Облачная разработка, запущенная на основе Node.js из Headless Платформа управления контентом предоставляет богатые функции управления контентом. CloudBase CMS На основе модели Конфигурация, динамически генерируемый контент Интерфейс управления, кодирование не требуется Прямо сейчас Можетиспользовать,Быстрое управление Облачная разработкасерединаизбизнесданные。поддерживатьхарактернить、число、мультимедиа、картина、документ、форматированный текст、Markdown、Связанные типждают десятки контента, типизируют визуальное редактирование.
  • CloudBase CMS Запущены существующее приложение расширения Tencent Cloud и инструменты разработчика мини-программ, поддерживающие одним щелчком мыши «Установить существующее изсреда для управления мини-программами». / Web ждать многотерминальной генерации данных контента.
  • В то же время CloudBase CMS ужесуществовать GitHub Открытый исходный код, вы можете напрямую существовать CloudBase CMS 上руководить Вторичное развитие, для удовлетворения разнообразных потребностей бизнеса.

использовать CMS 扩展час Волясуществоватьтекущийсредасоздаватьоблакофункция、Облачная база данныхждатьресурс

9.1 Консольное развертывание CMS

средаRequiresuseОплата по факту

Установить Заканчивать Может看приезжатьужеразвертыватьхорошийизоблакофункция、Статические ресурсы、Облачная база данных

АвторизоватьсяразвертыватьизCMS界面操делать演示

9.2 Если есть вторичные модификации, мы можем использовать исходный код для развертывания

  • Способ развертывания исходного кода https://docs.cloudbase.net/cms/install/source
  • Вторичная разработка https://docs.cloudbase.net/cms/reference/dev
  • Установить npm install -g @cloudbase/cli@latest
  • Открыть Облачная разработка Служить,исоздавать Платите по мере использованиясреда
Структура проекта

Принята следующая базовая структура изглавления. Monorepo изорганизационные нормы и использование lerna Управлять

  • admin:внешний интерфейс Интерфейс управления
  • cms-apiRESTful API Служить
  • cms-init:CMS развернуть скрипты, связанные с инициализацией
  • service:назадконец Служить,Обеспечить управление системой, связанной с из Служить
Язык кода:javascript
копировать
.
├── 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,И заполните соответствующую из Конфигурацию

Язык кода:javascript
копировать
# Ты из Облачная разработкасреда Id
TCB_ENVID=envId
# Имя учетной записи администратора Имя учетной записи должно быть длиннее. 4 биты, поддерживает буквы и цифры
administratorName=admin
# Пароль учетной записи администратора, от 8 до 32 символов. Пароль может состоять из букв, цифр и символов. Он не может состоять из одних букв или сохраненных цифр.
administratorPassword=123456
# CMS консольпуть,нравиться /tcb-cms/, рекомендуется использовать корневой путь /
deployPath=/
# Личное доменное имя для облачного доступа (необязательно), нравиться tencent.com
accessDomain=
TENCENTCLOUD_REGION=ap-guangzhou # средаIDМестосуществоватьизобласть
Установить зависимости

существоватьпроекткорень Оглавление Вниз Запустите следующую команду:

Язык кода:javascript
копировать
npm install && npm run setup

нравитьсяфрукты你использовать npm run setup Если в команде возникает исключение, вы можете перейти к packages В разделе Оглавлениеиздокумента выполните вручную. npm install Заказ.

существоватьпроекткорень Оглавление Вниз Запустите следующую команду,встреча Воля CloudBase CMS изуправлятьконсольразвертыватьприезжатьстатический сайт,Node Служитьразвертыватьприезжатьоблакофункциясередина

Язык кода:javascript
копировать
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 функцияосуществлятьисходныйхимический工делать,Когда возникает исключение,встреча导致Установка не удалась。

местное развитие
  1. копироватькорень Оглавление Внизиз .env.example для .env.local,И провести Конфигурацию на основе содержимого документа.
Язык кода:javascript
копировать
# Ты из Облачная разработкасреда Id
ENV_ID=envId
# Имя учетной записи администратора Имя учетной записи должно быть длиннее. 4 биты, поддерживает буквы и цифры
administratorName=admin
# Пароль учетной записи администратора, от 8 до 32 символов. Пароль может состоять из букв, цифр и символов. Он не может состоять из одних букв или сохраненных цифр.
administratorPassword=123456
# CMS консольпуть,нравиться /tcb-cms/, рекомендуется использовать корневой путь /
deployPath=/
# Личное доменное имя для облачного доступа (необязательно), нравиться tencent.com
accessDomain=
TENCENTCLOUD_REGION=ap-guangzhou # средаIDМестосуществоватьизобласть
  1. копировать packages/service/.env.example для packages/service/.env.local,И провести Конфигурацию на основе содержимого документа.
Язык кода:javascript
копировать
TCB_ENVID=test-xx # средаID
SECRETID=Идентификатор ключа # Идентификатор ключа
SECRETKEY=Ключ КЛЮЧ # КЛЮЧ
TENCENTCLOUD_REGION=ap-guangzhou # средаIDМестосуществоватьизобласть
  1. копировать packages/admin/public/config.example.js для packages/admin/public/config.js,И провести Конфигурацию на основе содержимого документа.
Язык кода:javascript
копировать
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',
};
  1. добавить вбезопасное доменное имя,нетноместное развитиевстреча报跨域错误

Установить зависимости

Язык кода:javascript
копировать
# Установить lerna полагаться
npm install
# Установить package полагаться
npm run setup

исходныйразвертывать

проходитьразвертывать动делать,курокисходный化操делать

Язык кода:javascript
копировать
npm run deploy

Начать разработку

Запустите следующую команду,после успеха,Можетдоступ http://localhost:8000/ Открыть CMS Интерфейс управления

Язык кода:javascript
копировать
cd packages/admin && npm run dev
cd packages/service && npm run dev

Разработка микроприложений

1. Доступ к микроприложениям Vue

Доступ к документации https://docs.cloudbase.net/cms/microapp/dev.

Язык кода:javascript
копировать
# Новый Vue микро Проект приложения
tcb new vue-app cms-microapp-vue
  • 打Сумкаvueприложениеnpm run build
  • Загрузить микроприложение

Новый

загрузитьпосле успеха,Можетсуществоватьуправлятьназад台середина Проверять

  • Отображение индивидуального меню микро-приложения

  • После установки,существоватьассоциацияизпроектсередина Может见

2. реагировать на доступ к микроприложениям

Доступ к документации https://docs.cloudbase.net/cms/microapp/dev.

Язык кода:javascript
копировать
# Новый React микро Проект приложения
tcb new react-app cms-microapp-react
Доступ к форме Restful API

Документация 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 Добавьте ниже из Конфигурация

Язык кода:javascript
копировать
Authorization: Bearer API_TOKEN

API_Token длясуществоватьсистеманастраиватьсерединагенерироватьиз Token,Bearer для по своей сути является Поле, и оба связаны с пространством.

9.3 Развертывание инструмента разработчика WeChat

Ссылка https://docs.cloudbase.net/cms/install/mp.

10. Разработка облака и внедрение low-code Tencent WeChat.

Адрес документа https://docs.cloudbase.net/lowcode/introduce.

Консоль https://console.cloud.tencent.com/lowcode/overview/index

11. Справочные документы

Справочная документация

  • Облачная разработка CloudBase облако Родной Интеграцияприложениеразвиватьплатформа,Быстро создавайте небольшие программы, веб-приложения и мобильные приложения: https://cloudbase.net/
  • Облачная разработка Документация CloudBase: https://docs.cloudbase.net/database/introduce.
  • Облачная разработка Официальная документация CloudBase: https://cloud.tencent.com/document/product/876.
  • CloudBase CLI:https://docs.cloudbase.net/cli-v1/quick-start
  • CloudBase SDK:https://cloud.tencent.com/document/product/876/46332
  • CloudBase В центре приложений есть все виды популярных приложений, а также Многоиз Производство级проектшаблон,Шаблон дела,развивать ВОЗМожет自由выбирать,и Воляпроектодин键развертыватьприезжать Облачная разработка:https://www.cloudbase.net/marketplace.html
  • Облачная разработка Tencent CloudBase Github Action может быть Github проектавтоматическийразвертыватьприезжать Облачная разработкасреда:https://github.com/TencentCloudBase/cloudbase-action
  • cloudbase-framework-github:https://github.com/Tencent/cloudbase-framework/tree/master/packages/framework-plugin-container
  • Tencent CloudBase Github:https://github.com/TencentCloudBase
  • cloudbaserc.json Конфигурациядокумент:https://docs.cloudbase.net/cli-v1/config
  • Облачная разработка React UI компоненты да Облачная разработка Официальное сопровождениеиз UI компоненты Библиотека,Предоставляет ряд возможностей на основе пакета Облачных разработок.,В настоящее время поддерживается унифицированная возможность «Авторизоваться»: https://docs.cloudbase.net/cloudbase-ui/introduce.
  • Облачная разработка Vue плагинда Облачная разработка Официальное сопровождениеиз Vue Плагин, обеспечивающий глобальный доступ,Vue логикакомпонентыждать Функция:https://docs.cloudbase.net/cloudbase-vue/introduce
  • Cloudbase Server Node.js SDK Позвольте вам существовать Служитьконец(нравиться腾讯облакооблакофункцияили Облачный хост ждать)использовать Node.js Служитьдоступ TCB изиз Служить,нравитьсяоблакофункциявызов,скачать документ,Ожидание операций сбора документов в базе данных,Удобно и быстро собрать приложение: https://docs.cloudbase.net/api-reference/server/node-sdk/introduction
  • @cloudbase/js-sdk Позвольте вам существовать Web конец(нравиться PC Web Страница,публичная платформа WeChat H5 ждать)использовать JavaScript доступ Cloudbase Служитьиресурс:https://docs.cloudbase.net/api-reference/webv2/initialization
  • CloudBase CMS да Облачная разработка, запущенная на основе Node.js из Headless Платформа управления контентом предоставляет богатые функции управления контентом: https://docs.cloudbase.net/cms/intro.
  • Облачная разработка Webify:Специализируйтесьдля Web развивать ВОЗ打造изприложениехостингплатформа,Экстремальная скоростьразвивать、развертывать、Онлайн: https://webify.cloudbase.net/
  • Облачная разработка工程шаблон Пример,Можетпроходить CloudBaseFramework один键создаватьиразвертывать:https://github.com/TencentCloudBase/cloudbase-templates
  • Инструмент ключа апплета WeChat: https://framework-1258016615.tcloudbaseapp.com/mp-key-tool/

Вопросы сообщества

  • "Tencent Cloud·Облачная разработка» по теме: [Tencent Rabbit Nest] https://support.qq.com/products/148793 (Облачная способности к разработке, связанные с этим, предпочтительны здесь)
  • 「Вичат·Облачная разработка» по теме: [Открытое сообщество WeChat] https://developers.weixin.qq.com/community/minihome/mixflow/1286298401038155776 (Спросите здесь информацию, связанную с WeChat)
  • Связано с «Облачным хостингом WeChat»: [Открытое сообщество WeChat] https://developers.weixin.qq.com/community/minihome/mixflow/1919566493118201863 (Спросите здесь информацию, связанную с облачным хостингом)

Данная статья опубликована на моем личном сайте точка,точкаударять Проверятьвсе https://blog.poetries.top/2022/06/25/cloudbase-summary

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose