npm install -g think-cli
Для проверки версии think-cli можно использовать команду
thinkjs -v
, однако это не покажет версию thinkjs.
thinkjs new thinkjsPlus
При создании проекта можно указать параметр
--mode=module
для создания много модульного проекта (thinkjs new thinkjsPlus --mode=module
). В данном проекте этот параметр не был использован.
|--- development.js // Входной файл для режима разработки
|--- nginx.conf // Конфигурационный файл Nginx
|--- package.json
|--- pm2.json // Конфигурационный файл PM2
|--- production.js // Входной файл для режима продакшн
|--- README.md
|--- src
| |--- bootstrap // Директория для автоматического запуска скриптов
| | |--- master.js // Автоматический запуск для процесса Master
| | |--- worker.js // Автоматический запуск для процесса Worker
| |--- config // Директория конфигураций
| | |--- adapter.js // Конфигурация адаптера
| | |--- config.js // Основная конфигурация
| | |--- config.production.js // Конфигурация для режима продакшн, объединяется с config.js
| | |--- extend.js // Расширенная конфигурация
| | |--- middleware.js// Конфигурация middleware
| | |--- router.js // Конфигурация маршрута
| |--- controller // Директория контроллеров
| | |--- base.js
| | |--- index.js
| |--- logic // Директория логики
| | |--- index.js
| |--- model // Директория моделей
| | |--- index.js
|--- view // Директория шаблонов
| |--- index_index.html
|--- www
| |--- static // Директория статических ресурсов
| | |--- css
| | |--- img
| | |--- js
```#### 4. Запуск сервиса проекта
> Входной файл для режима разработки — development.js. Для запуска используется команда `node development.js`. Из входного файла видно, что при запуске создаётся экземпляр класса Application из библиотеки ThinkJS, который затем выполняет метод run.
#### 5. Настройка базы данных
> В этом проекте используется MySQL. Конфигурационный файл находится в директории src/config/adapter.js
exports.model = { type: 'mysql', common: { logConnect: isDev, logSql: isDev, logger: msg => think.logger.info(msg) }, mysql: { handle: mysql, database: 'thinkjsplus', prefix: '', encoding: 'utf8', host: '127.0.0.1', port: '3306', user: 'root', password: 'root', dateStrings: true } };
#### 5.1 Создание модели
thinkjs model +ИмяМодели
#### 6. Контроллер
> Команда для создания контроллера выглядит как `thinkjs controller [название_контроллера]`. Мы создаем контроллер для входа в админку, а также создаем html страницу `admin_index.html` для отображения формы входа. После запуска сервиса можно будет получить доступ к форме входа по адресу http://localhost:8360/admin.
thinkjs controller admin
```javascript
const user = this.model('thinkjsplus_user'); // создание экземпляра модели в контроллере
const data = await user.select();
this.assign('title', data);
return this.display();
По умолчанию шаблонный движок в thinkjs3 — это nunjucks. Если в действии контроллера записать так:
this.assign('title', "тестовая страница thinkjsplus!");
return this.display();
в html-странице вида можно получить title
таким образом:
{{title}}
```#### 8. Управление правами доступа
> Код управления правами выглядит следующим образом:
module.exports = class extends think.Controller { async __before() { if (this.ctx.controller === 'admin' && (this.ctx.action === 'index' || this.ctx.action === 'login')) { // если это admin_index, то проверка пропускается, и происходит переадресация на вход. return; } let userinfo = await this.session('userinfo'); if (!think.isEmpty(userinfo)) { this.assign('userinfo', userinfo); } else { return this.redirect('/admin/index'); } } }
#### 9. В данном проекте используется база данных MySQL, операции CRUD подробно описаны в проекте
/**
/**
/**
#### 10. Запуск данного проекта
> Сначала установите MySQL, затем импортируйте SQL-файлы проекта, после чего выполните команду `npm install` в корневой директории проекта, а затем запустите проект с помощью `npm start`.
#### Прикрепленные скриншоты проекта
! [image](./images/1.jpg)
! [image](./images/2.jpg)
! [image](./images/3.jpg)
! [image](./images/4.jpg)
! [image](./images/5.jpg)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )