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 LTS async/await является встроенной поддержкой, поэтому мы можем использовать его непосредственно в производственной среде без использования транспайла Babel.

✂️Оптимизация ядра, расширение поддержки и адаптер️✂️

Версия ThinkJS 2.x имеет ряд встроенных функций, которые в основном являются лучшими практиками для многих корпоративных проектов. Но не все эти функции требуются для каждого проекта, очень сложно настроить базу фреймворка на старой версии ThinkJS 2.x. Поэтому мы переработали и оптимизировали базу ThinkJS на Koa в версии 3.0. ThinkJS больше не предлагает богатую функциональность, а предоставляет базовую основную функцию, а затем удовлетворяет дополнительные потребности за счет расширения.

🍃Многопроцессная модель🍃

В ThinkJS 2.x многопроцессорность необязательна, а структура фреймворка проста, многие функции должны обрабатываться разработчиком вручную. В новой версии мы разработали модуль think-cluster для непосредственного встраивания многопроцессорной модели, чтобы максимально использовать многоядерный ЦП для повышения скорости отклика. Также мы предоставляем набор способов взаимодействия между процессами, например: уведомление других процессов о выполнении задачи или перезапуск всех дочерних процессов после обновления исходного кода в режиме онлайн.

👼Подсказка об ошибке разведки👼

Одной из головных болей при разработке Node.JS является проблема обработки ошибок. Это проблематично, когда дело доходит до проверки ошибок и проблем с местоположением, особенно после транспиляции Babel. Чтобы решить эту проблему, мы разработали think-trace module для отслеживания проблем с ошибками и более удобного сбора информации о стеке ошибок.

🙋И!🙋

В дополнение к некоторым функциям, о которых мы только что упомянули, у нас есть и другие обновления, о которых мы хотим вам рассказать:

🙇Спасибо🙇

Наконец, спасибо всем пользователям фреймворка ThinkJS за вашу поддержку на протяжении многих лет, именно ваше присутствие дает нам смелость идти дальше. И, конечно же, спасибо всем участникам, которые внесли свой вклад в проект ThinkJS, включая основное репозиторий и документацию, а также вашим усилиям сделать ThinkJS все лучше и лучше! Спасибо всем вам, давайте примем ThinkJS и с нетерпением ждем лучшего будущего!