ThinkJS — это фреймворк Node.JS, ориентированный на будущее. Он ориентирован на интеграцию передового опыта и стандартизацию проектов, чтобы упростить и повысить эффективность корпоративной командной разработки. 🔗 https://github.com/thinkjs/thinkjs вот наш репозиторий Github, добро пожаловать, если вам это интересно~
После выхода ThinkJS 2.x мы осознаем свои недостатки, но добавили много замечательных функций. В ответ на эти проблемы, после нескольких месяцев интенсивной разработки, мы рады сообщить, что ThinkJS открыл новую большую версию 3.0. Эта версия теперь доступна онлайн в нескольких проектах, и вы можете загрузить и использовать ее с помощью простой команды:
npm install -g think-cli
😍Что нового?😍
Как упоминалось ранее, мы разработали новую версию для устранения оставшихся недостатков, как показано ниже в нашей новой версии композиции кадра.
Помимо внедрения новой архитектуры и высокого уровня деконструкции фреймворка, мы добавили ряд новых возможностей для оптимизации использования старой версии болезни, давайте посмотрим на конкретные обновления.
👨💻Структурная архитектура реконструкции на основе Koa👨💻
Самым большим изменением в версии 3.0 является рефакторинг базовой архитектуры на основе Koa, а не использование собственной архитектуры интеграции. Реконструированная версия ThinkJS 3.0 полностью совместима с промежуточным программным обеспечением Koa. Существует несколько основных причин использования рефакторинга Koa:
- Koa теперь стабильна, промежуточное ПО луковой модели более универсально, а экосистема промежуточного ПО развивается. Всего этого у ThinkJS раньше не было. Базируясь на Коа, мы можем добиться большего успеха, например, стоять на плече гиганта.
- Разработчики используют более элегантную функцию
async/await
для решения асинхронных проблем в Koa 2.0. Эта идея прекрасно согласуется с ThinkJS. Раньше мы могли легко использовать эти функции синтаксиса ES next с Babel в версии ThinkJS 2.x. В грядущем выпуске Node 8.x LTSasync/await
является встроенной поддержкой, поэтому мы можем использовать его непосредственно в производственной среде без использования транспайла Babel.
✂️Оптимизация ядра, расширение поддержки и адаптер️✂️
Версия ThinkJS 2.x имеет ряд встроенных функций, которые в основном являются лучшими практиками для многих корпоративных проектов. Но не все эти функции требуются для каждого проекта, очень сложно настроить базу фреймворка на старой версии ThinkJS 2.x. Поэтому мы переработали и оптимизировали базу ThinkJS на Koa в версии 3.0. ThinkJS больше не предлагает богатую функциональность, а предоставляет базовую основную функцию, а затем удовлетворяет дополнительные потребности за счет расширения.
🍃Многопроцессная модель🍃
В ThinkJS 2.x многопроцессорность необязательна, а структура фреймворка проста, многие функции должны обрабатываться разработчиком вручную. В новой версии мы разработали модуль think-cluster
для непосредственного встраивания многопроцессорной модели, чтобы максимально использовать многоядерный ЦП для повышения скорости отклика. Также мы предоставляем набор способов взаимодействия между процессами, например: уведомление других процессов о выполнении задачи или перезапуск всех дочерних процессов после обновления исходного кода в режиме онлайн.
👼Подсказка об ошибке разведки👼
Одной из головных болей при разработке Node.JS является проблема обработки ошибок. Это проблематично, когда дело доходит до проверки ошибок и проблем с местоположением, особенно после транспиляции Babel. Чтобы решить эту проблему, мы разработали think-trace
module для отслеживания проблем с ошибками и более удобного сбора информации о стеке ошибок.
🙋И!🙋
В дополнение к некоторым функциям, о которых мы только что упомянули, у нас есть и другие обновления, о которых мы хотим вам рассказать:
- Добавьте модуль
think-crontab
для улучшения функции crontab фреймворка. - Реконструировать функции журнала, построить систему журналов фреймворка на основе модуля
think-logger3
. - Реконструируйте логику работы базы данных фреймворка, добавив модули
think-model
,think-mongoose
,think-sequelize
для улучшения работы ORM базы данных фреймворка.
🙇Спасибо🙇
Наконец, спасибо всем пользователям фреймворка ThinkJS за вашу поддержку на протяжении многих лет, именно ваше присутствие дает нам смелость идти дальше. И, конечно же, спасибо всем участникам, которые внесли свой вклад в проект ThinkJS, включая основное репозиторий и документацию, а также вашим усилиям сделать ThinkJS все лучше и лучше! Спасибо всем вам, давайте примем ThinkJS и с нетерпением ждем лучшего будущего!