На прошлой неделе был выпущен Neutrino версии 8, новейшего инструмента, который сочетает в себе все функции и мощность, которые вам нравятся в webpack, с возможностью запускать проекты с нулевой конфигурацией, и все это без потери расширяемости. В этот выпуск вошло многое, так что давайте углубимся.
Создание новых проектов
Стремясь максимально упростить начало работы с Neutrino, мы представили новый способ создания минимума, необходимого для создания новых проектов! Нет необходимости устанавливать какие-либо пакеты глобально; если у вас установлена последняя версия пряжи или npm, вы готовы к работе!
Для пользователей пряжи вы можете начать новый проект с yarn create
:
yarn create @neutrinojs/project <directory-name>
Для пользователей npm вы можете начать новый проект с помощью команды npx
:
npx @neutrinojs/create-project <directory-name>
Затем вам предложат ряд быстрых вопросов, и вы сразу сможете создать и написать свой проект! Чтобы увидеть это в действии, вот скриншот, на котором я создаю новое приложение React:
По запросу create-project
вы можете начать с нескольких различных типов проектов:
- Реагировать
- Preact
- Vue
- Node.js
- Библиотеки Web и Node.js
- Любое универсальное веб-приложение
- Автономные компоненты React
Кроме того, вы можете добавить тестовых исполнителей, таких как Karma, Mocha и Jest, или даже линтировать свой проект с помощью ESLint с Airbnb или StandardJS. Все они предварительно настроены для использования без какой-либо дополнительной настройки, но остаются полностью расширяемыми для использования в будущем.
Пакеты с ограниченным объемом
Если вы в прошлом были пользователем Neutrino, вы могли заметить, что ваши старые предустановки и промежуточное ПО получили новые имена в новой организации npm, @neutrinojs
. Мы сделали это по двум причинам. Во-первых, было неясно, какие пакеты официально поддерживались Neutrino, а какие нет, поскольку все существовали в npm с одинаковыми именами. Во-вторых, если Neutrino хотел выпустить новый пакет, а имя противоречило имени уже существующего в сообществе, нам пришлось бы прибегнуть к более странному именованию в качестве обходного пути. Перенос наших официальных предустановок и промежуточного программного обеспечения в @neutrinojs
org помогает нам решить обе эти проблемы.
Так что именно это означает? Все пакеты, на которые вы, возможно, полагались в прошлом, просто нужно установить с заданным именем вместо их старого имени, например
neutrino-preset-web
→@neutrinojs/web
neutrino-preset-react
→@neutrinojs/react
neutrino-preset-node
→@neutrinojs/node
neutrino-preset-jest
→@neutrinojs/jest
Новые типы промежуточного программного обеспечения
Neutrino v8 также представил несколько новых основных пакетов промежуточного программного обеспечения:
@neutrinojs/library
: Создание JS-библиотек для целей Web или Node.js@neutrinojs/react-components
: Создавайте общие компоненты React. Хорошо работает с другим промежуточным программным обеспечением Neutrino, поэтому вы можете создавать, тестировать и публиковать несколько компонентов React из одного репозитория.@neutrinojs/preact
&@neutrinojs/vue
: Создавайте проекты на основе Preact и Vue с поддержкой JSX и многого другого.@neutrinojs/standardjs
: Используйте ESLint с правилами StandardJS для линтинга ваших проектов@neutrinojs/fork
: разделить использование промежуточного программного обеспечения на отдельные процессы. Вы можете комбинировать это с другим промежуточным программным обеспечением для настройки и создания нескольких типов проектов из одного проекта, например React + Node для SSR, или создания нескольких вариантов библиотеки параллельно.
Лучшая поддержка многостраничных приложений и нескольких сетей
При создании веб-приложений с несколькими страницами или библиотек и проектов Node.js, имеющих несколько основных точек входа, может быть несколько движущихся частей, которые необходимо синхронизировать, чтобы все работало должным образом, например, горячая замена модуля и Генерация HTML-шаблона. Теперь Neutrino синхронизирует все это, перейдя от единственной entry
опции к использованию карты mains
:
// .neutrinorc.js module.exports = { options: { // Each key in `mains` maps to an entry point // located in the source code directory, e.g. src/ mains: { // The key is the file name that will be generated // The value is the file in src/ to use as the entry point index: 'index', admin: 'admin', login: 'sign-in' } } };
Улучшенное промежуточное ПО стиля, модули CSS
ПО промежуточного слоя @neutrinojs/style-loader
, которое используется основными веб-пресетами Neutrino, теперь поддерживает лучшую интеграцию и расширение с другими типами препроцессоров и инструментов. Это означает, что вам будет проще указать свою конфигурацию в будущем, если вы хотите использовать LESS, Sass, PostCSS, stylelint и другие, просто передав дополнительные параметры в это промежуточное программное обеспечение или пресеты.
Кроме того, наши веб-шаблоны теперь поддерживают модули CSS из коробки с *.module.css
файлами в web
, react
и preact
и тегами стиля на основе модулей в vue
.
Критические изменения
С каждым крупным выпуском появляется вероятность критических изменений при попытке обновления. Мы поддерживаем их список в нашем Руководстве по переходу с v7 на v8. Пожалуйста, прочтите это, если вы обновляетесь с предыдущей версии.
Что дальше?
Мы планируем добавить еще больше интересных типов проектов в Neutrino и create-project
scaffolder. Некоторые из них включают поддержку:
- WebExtensions
- Электрон
- Вяз
Вовлечены!
Мы всегда ищем новых и заинтересованных людей, которые помогут в нашем проекте, и приветствуем всех, кто хочет, чтобы их наставляли в этих усилиях! Вот несколько вещей, с которыми нам действительно нужна помощь, поэтому, если вы чувствуете желание, присоединяйтесь и поговорите с нами!
- У нас есть хорошие документы, но нам нужны отличные документы! Наличие специальной темы документов, которая соответствует индивидуальности Neutrino, значительно улучшит ситуацию.
- Видеоуроки и курсы. Возможность направлять новых пользователей Neutrino в создание новых типов проектов и их настройку в будущем - это то, что действительно поможет нам!
- Перенос приложения Create-React-App на поддержку Neutrino. У нас есть проблема, и мы очень хотели бы, чтобы кто-нибудь из сообщества стал героем в этой работе.
Конечно, нам всегда нужна помощь с ошибками, кодом, документацией и продвижением. Если вы вообще хотите помочь, перейдите на каналы нашего сообщества и представьтесь. Команда очень дружелюбная и будет рада помочь вам в решении любых вопросов. ❤️
Спектр:
Веб-сайт и документация:
GitHub:
Twitter: