Bruce Cli
bruce-cli
ЯвляетсяReact/VueАвтоматизация приложений для создания строительных лесов, его преимущество в нулевой конфигурации «из коробки» очень подходит для студентов начального уровня, младших-средних и передовых студентов проектов быстрой разработки.Его также можно использовать при созданииbrucerc.js
файл, чтобы переопределить его конфигурацию по умолчанию, вам нужно сосредоточиться только на написании бизнес-кода, не обращая внимания на написание кода сборки, что делает структуру проекта более лаконичной. Нажмите, чтобы узнать подробностиздесь, не забудьте проверить документацию при его использовании и поставить звезду, если вам это нравится
🎥 Фон
С ростом развития интерфейсных технологий, от нескольких простых файлов в прошлом до кучи файлов, в проект внедряются различные расширения и инструменты, что делает проект больше и сложнее в управлении, а интерфейсный проект также стал иметь тенденцию быть спроектированным и интегрированным. Постоянно меняющиеся интерфейсные технологии делают бизнес-логику и эффекты взаимодействия внешнего кода все более и более сложными, и проект будет постоянно поддерживаться и повторяться, что усложняет управление разработчиками. Модульная разработка и различные фреймворки делят проект на несколько небольших модулей, что усложняет финальный релиз, нет единого стандарта, что делает странной структуру фронтенда проекта. Обычно проекты разрабатываются командами, и каждому сложно иметь одинаковые привычки написания кода и стиль написания логики. работа вращается вокругЭффективность разработкиа такжеХодовые характеристикиИнженерная проблема . Таким образом, автоматическое построение интерфейсных проектов становится все более и более важным при разработке всего проекта.
🔗Зависимость
Этот проект основан на
Webpack4.x.x
Быстрые, не требующие настройки готовые сборщики веб-приложений для разработки (Каждое обновление будет содержать последние зависимости), интегрируя различные общие инструменты (Handlebars
,Postcss
,Sass
,Less
,Babel
,TypeScript
,Stylelint
,Eslint
,Tslint
и т. д.) расширенная функциональность сборки для создания и управленияReact/VueПроектное применение стека технологий
📦Установить
npm i -g bruce-cli
установка не удалась
- переключатьзеркало нпмДля зеркала Таобао:
npm config set registry https://registry.npm.taobao.org/
- переключатьСасс зеркалоДля зеркала Таобао:
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
- Повторно выполните команду установки:
npm i -g bruce-cli
💻 Используйте
~ | Заказ | Сокращенное название |
---|---|---|
Построить проект | bruce build | bruce b |
первоначальный проект | bruce init | bruce i |
переключить язык | bruce locale | bruce l |
Создание компонентов | bruce new | bruce n |
удалить зависимости | bruce remove | bruce r |
☎️Язык
- zh-chs:Упрощенный китайскийПо умолчанию
- zh-cht:традиционный китайский
- en: Английский
💡 Особенности
Командная функция
- Построить проект: Выберите желаемую конфигурацию для отладки проекта и построения проекта на основе интерактивных вопросов и ответов терминала.
- первоначальный проект: Создание основных файлов и входных файлов проекта в соответствии с конфигурацией, необходимой для интерактивного выбора вопросов и ответов терминала.
- переключить язык: переключение языка текста, отображаемого на панели терминала, выберите упрощенный китайский, традиционный китайский, английский.
- Создание компонентов: после ввода пути к компоненту создайте файл шаблона по пути, соответствующему корневому каталогу проекта.
- удалить зависимости: Быстрое удаление файлов зависимостей проекта и файлов блокировки зависимостей.
Встроенная функция
-
Выбор режима:поставка
开发环境
,测试环境
,生产环境
Три режима, каждый из которых соответствует своей конфигурации сборки и схеме оптимизации. - прослушивание портов: При использовании режима разработки запустите локальный сервер и прослушайте указанный порт, который может автоматически открыть браузер для доступа к странице.
-
частичное обновление: включить встроенный Webpack
Hot Module Replacement
,сотрудничатьreact-hot-loader
илиvue-loader
,Инкрементное обновлениеcss文件
а такжеjs文件
, что лучше исправить, можно увидеть результаты модификации в режиме реального времени, не обновляя страницу, и сохранить текущий статус управления данными - Вступительное суждение: быстро сканировать путь к файлу записи, указанный в проекте, чтобы определить, существует ли он.При построении проекта файл записи используется в качестве корневого узла, и его существование и путь должны быть обеспечены.
-
распорная вставка: Автоматически вставлять прокладки на основе совместимости проекта, совместимого с браузерами более ранних версий.
- Вставить динамический
polyfill
, по запросу браузераUserAgent
вернуться к файлу прокладки,babel
При компиляции кода JS он компилируется без прокладок.减包作用
- вставить статический
polyfill
,согласно сbrowserslist
и синтаксис ES6 в коде записи автоматически вставляет требуемый код прокладки
- Вставить динамический
-
динамический импорт: вы можете использовать синтаксис динамического импорта (
import().then()
(代码懒加载
), чтобы уменьшить размер кода загрузки в верхней части страницы и время рендеринга. -
компиляция кода: встроенный компилятор CSS (
Postcss
,Sass
,Less
) и компилятор JS (Babel
,TypeScript
) Компилируйте стили и скрипты и используйте синтаксис в последних или черновых спецификациях во время разработки, делая код более кратким и улучшая читабельность кода.- использовать
raw-loader
Обработать TXT и импортировать содержимое файла в виде строки - использовать
handlebars-loader
Обработка встроенного HTML и HBS, встроенная вставка HTML-элементов на страницу. - использовать
style-loader
а такжеcss-loader
Обрабатывать CSS, отделять CSS от JS - использовать
postcss-loader
Обработка новых функций CSS и предварительных спецификаций, согласноbrowserslist
Добавить префикс CSS - использовать
sass-loader
Процесс Sass, черезnode-sass
компилироватьsass文件
дляcss文件
- использовать
less-loader
Обработка меньше, черезless
компилироватьless文件
дляcss文件
- использовать
babel-loader
В соответствии с заданной средой иbrowserslist
обработка написанаES6代码
а такжеTS代码
и создать распознаваемый браузеромES5代码
- использовать
-
проверка кода: Убедитесь, что в написанной грамматике нет ошибок, стандартизируйте стиль написания кода каждого коллеги в совместной работе, уменьшите избыточность кода и улучшите читаемость кода на основе обеспечения правильного синтаксиса кода.
-
CSS校验
: встроенныйstylelint
, настроить стандартные правила грамматики CSS, проверить и исправить грамматические ошибки в процессе разработки -
JS校验
: встроенныйeslint
а такжеtslint
, настраивать стандартные грамматические правила JS и TS, проверять и исправлять грамматические ошибки в процессе разработки
-
- Дружеские советы: вывод фрагментов кода с выделенным синтаксисом и советов по устранению неполадок при появлении предупреждений и ошибок, чтобы помочь разработчикам найти проблемы.
-
разделение кода: Создайте бизнес-код и разделите его на
WebpackRuntime代码块
,第三方依赖代码块
,公共业务代码块
,单个业务代码块
-
слияние кода: объединяя код одного и того же модуля, одной и той же функции или несколько раз целиком,
减包作用
-
сжать слияние:
-
CSS压缩
: встроенныйcssnano
, сжать и дедуплицировать извлеченный CSS -
JS压缩
: встроенныйuglifyjs
а такжеterser
, сжать и дедуплицировать извлеченный JS,uglifyjs
Для сжатияES5
,terser
для сжатияES6
-
图像压缩
: встроенныйimagemin
,правильноjpg
,png
Сжатие без потерь других изображений
-
-
Прокси интерфейса:использовать
proxy
Интерфейс обратного прокси-сервера для решения междоменных проблем интерфейса -
Обработка ресурсов:использовать
file-loader
а такжеurl-loader
Для обработки медиа-ресурсов, таких как шрифты, изображения, аудио, видео и т. д., когда изображение меньше 10k, оно преобразуется вbase64形式
-
усиление эффекта: включить встроенный Webpack
Scope Hoisting
Проанализируйте зависимости между модулями, объединить встроенные модули в функцию и играть роль减包作用
-
оптимизация встряхивания дерева: включить встроенный Webpack
Tree Shaking
,запретитьbabel
преобразовать код вCommonJS规范
,использоватьESM规范
функция статического объявления для удаления неиспользуемых или невыполненных блоков кода, как减包作用
- оптимизация кеша: После включения хеширования файлов операция сборки выполняется в зависимости от того, изменилось ли значение хеш-функции файла.Файлы, хэш которых не меняется, получаются напрямую из кеша, что сокращает время сборки сгенерированных файлов.
- хэш файла: значение хеш-функции может быть установлено для сгенерированного файла, и значение хеш-функции будет изменено только в том случае, если содержимое файла будет изменено, что используется для оптимизации длительного кеша.
- файловый кеш: Скорость первой сборки может быть ниже.После завершения сборки будет сгенерирован файл локального кеша, который может улучшить скорость последующих сборок.
- каталог сроков: корневой каталог выходного проекта может быть сериализован по времени и назван, а также может быть добавлена временная метка, чтобы различать версию.
- Анализ сборки: Отношения зависимостей сборки могут отображаться после завершения сборки, а написание модулей может быть разумно распределено и изменено в соответствии с диаграммой отношений.
- Файл загружен: Разоблачите успешный хук сборки, вы можете написать код, загруженный на сервер, в функцию хука, чтобы загрузить файл на сервер после сборки, и другие операции могут быть выполнены.
-
Настройка конфигурации: Когда часть конфигурации не соответствует требованиям проекта, вы можете передать файл конфигурации в корневой каталог проекта.
brucerc.js
изменить конфигурацию по умолчанию, которая будет использоваться при запуске сборки, чтобы переопределить конфигурацию сборки по умолчанию.
⚙️Конфигурация
- alias: Ярлык импорта модуля, пожалуйста, обратитесь к деталям конфигурацииwebpack-resolve-alias
- browserList: список конфигурации целевого браузера, пожалуйста, обратитесь к деталям конфигурацииbrowserslist
-
errorCb(err): Функция обратного вызова сборки, вы можете настроить другие операции
-
err
: сообщение об ошибке
-
- eslintIgnores: Eslint игнорирует список путей, см. подробности конфигурации.eslint-ignores
- eslintRules: Список правил проверки Eslint, см. подробности конфигурации.eslint-rulesа такжеrules
-
frame:Среда разработки(
default
Указывает на общее применение,react
представляет приложение React,vue
представляет приложение Vue) -
includeModules: компилировать список разрешенных модулей (
node_modules/xxx
), значение по умолчанию неверноnode_modules
компилировать - openPath: Отображать URL-адрес после открытия браузера в среде разработки.
- proxy: Прокси-сервер интерфейса, пожалуйста, обратитесь к деталям конфигурацииwebpack-dev-server-proxy
-
style: формат стиля (
scss、less
) - stylelintIgnores: Stylelint игнорирует список путей, см. подробности конфигурации.stylelint-ignores
- stylelintRules: Список правил проверки Stylelint, см. сведения о конфигурации.stylelint-rulesа такжеrules
-
successCb(mode, dir): Создайте успешную функцию обратного вызова, вы можете настроить операцию загрузки файла или другие операции.
-
mode
: среда выполнения (test
представляет тестовую среду,prod
представляет производственную среду) -
dir
: выходной путь
-
-
uploadOpts(mode): функция загрузки конфигурации (должна возвращатьObject, и содержит следующие поля), пожалуйста, обратитесь к деталям конфигурацииscp2
- параметр обратного вызова
-
mode
: среда выполнения (test
представляет тестовую среду,prod
представляет производственную среду)
-
- возвращаемый объект
-
host
: IP-адрес сервера -
password
: пароль (не совместим сprivateKey
сосуществовать) -
path
: целевой путь к файлу -
privateKey
: секретный ключ (не может сочетаться сpassword
сосуществовать) -
username
:учетная запись
-
- параметр обратного вызова
- useTs: Интеграция TypeScript
распределение по умолчанию
module.exports = {
alias: {},
browserList: [
"last 20 Chrome versions",
"last 20 Firefox versions",
"last 20 Opera versions",
"Explorer >= 10",
"Safari >= 8",
"Android >= 5",
"iOS >= 8"
],
errorCb: null,
eslintIgnores: [],
eslintRules: {
// eslint规则配置
// 查看bruce-cli模块下的temp/configs/eslintrc-{default/react/vue}.json
},
frame: "default",
includeModules: [],
openPath: "",
proxy: {},
style: "scss",
stylelintIgnores: [],
stylelintRules: {
// stylelint规则配置
// 查看bruce-cli模块下的temp/configs/stylelintrc-{default/react/vue}.json
},
successCb: null,
uploadOpts: null,
useTs: false
};
Конфигурация наложения
- В настоящее время доступно только
.js
Файл написан в виде , вы можете обратиться к следующей конфигурации, чтобы написать - Поскольку в этом проекте используется
CommonJS规范
для разработки, поэтому вы должны использоватьmodule.exports = { ... };
Экспортируйте следующие свойства конфигурации - Чтобы настроить операцию загрузки, вы должны указать
uploadOpts
Установить какnull
или удалите это поле и используйтеsuccessCb
чтобы определить операцию загрузки
module.exports = {
alias: {
swiper: "swiper/dist/js/swiper.js"
},
browserList: [
"> 0.5%",
"last 2 versions"
],
errorCb(err) {
console.log("错误信息", err);
}
eslintIgnores: [
"src/components/*"
],
eslintRules: {
"space-before-function-paren": ["error", "always"]
},
frame: "react",
includeModules: [
"lodash",
"trample"
],
openPath: "?abc=123",
proxy: [{
changeOrigin: true,
context: [
"/login",
"/list",
"/detail"
],
secure: false,
target: "https://www.baidu.com"
}],
style: "less",
stylelintIgnores: [
"src/assets/css/*"
],
stylelintRules: {
"color-hex-case": "upper"
},
successCb(mode, dir) {
console.log("运行环境", mode);
console.log("输出路径", dir);
},
uploadOpts(mode) {
return {
host: "your server ip",
password: "your server password",
path: "/root/www",
username: "root"
};
},
useTs: true
};
📋 Подробности
CLI связанные
- Язык интерфейса по умолчанию
简体中文
, переключить繁体中文
или英文
Запросbruce l
сделать переключатель - В настоящее время оборудован только
React
а такжеVue
конфигурация сборки, не используйте для сборкиAngular
или другиеMVVM
проект - Текущее приложение может быть только
React
Подать заявку илиVue
приложение для использованияbruce n
Заказ - конфигурационный файл
brucerc.js
Собственностьnull
,[]
,{}
При использовании значения по умолчанию встроенной конфигурации - Обязательно следуйте подсказкам об ошибках сборки для исправления, не изменяйте произвольно исходный код сборки и конфигурацию сборки, это может привести к сбою процесса сборки проекта.
- После нескольких сборок может произойти сбой чтения кэша из-за длительного использования долгой оптимизации кэша, и при перестроении может появиться сообщение об ошибке.
bruce r
удалятьnode_modules
и переустановите зависимости
связанные с IDE
- Рекомендуемое использованиеVSCodeДля разработки проекта следующая конфигурация также основана на
VSCode
провести - Если включено
Stylelint
,Eslint
,Tslint
, необходимо установить в IDEПлагин Stylelint,Плагин Eslint,Плагин TslintЧтобы сотрудничать с проверкой кода этого проекта, чтобы выделить предупреждения и ошибки - если нужно
Stylelint
Подсветку синтаксиса и автоматическое исправление синтаксических ошибок при сохранении можно найти в首选项
>设置
Средние настройки (см. документацию плагина, в настоящее время недействительна) - если нужно
Eslint
Подсветку синтаксиса и автоматическое исправление синтаксических ошибок при сохранении можно найти в首选项
>设置
Средние настройки (см. документацию плагина) - если нужно
Tslint
Подсветку синтаксиса и автоматическое исправление синтаксических ошибок при сохранении можно найти в首选项
>设置
Средние настройки (см. документацию плагина)
связанный с файлом
- Проект может существовать только в JS или TS, а файл скрипта в проекте JS может быть только
.js
или.jsx
, файл скрипта под проект TS может быть только.ts
или.tsx
- Если тип приложения — SPA, файл записи должен быть
src/index.(js|ts|jsx|tsx)
- Если тип приложения — MPA, файл ввода должен быть
src/pages/pageName/index.(js|ts|jsx|tsx)
- когда
src/pages
каталог существует и содержит вложенные папки, он автоматически распознается какMPA项目
- использовать
CSS精灵图
, значки должны быть размещены равномерноsrc/assets/icon
, а формат файлаpng
- выставить глобальные переменные
RUN_ENV
Используется для получения текущей операционной среды, при использованииEslint
илиTslint
В случае синтаксической ошибки добавьте ее послеeslint-disable-line
илиtslint:disable-line
Только что-
dev
: Среда разработки -
test
:тестовая среда -
prod
:Производственная среда
-
- ярлык импорта файлов
-
#
:Корневая директория -
@
:src
содержание
-
Связанные с прокладкой
-
@babel/polyfill
существует7.4.0
позже устарела, поэтому прокладка, используемая в этом проекте,core-js
а такжеregenerator-runtime
- Если нет особой совместимости, не нужно добавлять вверху файла записи
import "core-js/stable";
а такжеimport "regenerator-runtime/runtime";
, программа сборки автоматическиbrowserslist
Добавить разделители - Для совместимости с браузерами более ранних версий требуется ручная установка
core-js
(core-js
Версия должна бытьv3
)а такжеregenerator-runtime
, добавьте вверху файла записиimport "core-js/stable";
а такжеimport "regenerator-runtime/runtime";
связанные с ES6
- воплощать в жизнь
bruce b
При сборке проекта, если это первая сборка, будет предложено построитьpackage.json
Внизdependencies
зависимости (Dll构建
), цель состоит в том, чтобы ускорить последующую разработкуHMR
Будут созданы только измененные файлы, а остальные файлы не будут создаваться постепенно. - Если зависимость использует импорт по требованию ESM, выполните
bruce b
Не выбирайте эту зависимость при сборке проектаDll构建
, И вbrucerc.js
изincludeModules
Добавьте эту зависимость в сборку, и блоки кода, на которые нет ссылок или которые не выполняются, будут удалены при сборке.
связанные с ТС
- При использовании TS файл конфигурации будет автоматически сгенерирован в корневом каталоге проекта.
tsconfig.json
- Чтобы изменить конфигурацию TS, просто измените
tsconfig.json
- Чтобы изменить конфигурацию Tslint, создайте файл конфигурации в корневом каталоге проекта.
tslint.json
, запись конфигурации вручную может переопределить конфигурацию Tslint по умолчанию.
Связанный с проектом по умолчанию (
bruce i
Выберите при первоначальном проектеdefault
)
- Доступны встроенные
handlebars
шаблон - Входной файл должен быть
src/index.js
илиsrc/pages/pageName/index.js
- Исходный тип приложения - SPA (инициализация в форме MPA не предусмотрена).Если вы хотите преобразовать в MPA, необходимо перераспределить путь к файлу в соответствии с формой входного файла, заданной базовым проектом.
- Может использоваться для разработки собственных проектов JS, проектов Jquery, проектов Zepto и т. д.
- общественные функции должны быть размещены
src/templates/helpers
каталог, используемый в шаблоне{{> fileName}}
Цитировать - Общие шаблоны должны быть размещены
src/templates/partials
каталог, используемый в шаблоне{{fileName param}}
Цитировать - Использование и примеры общедоступных функций и общедоступных шаблонов см.handlebars-loader
⚖️Сравнение
Общие проекты сборки на Github предоставляют много кода сборки. Код сборки и бизнес-код полностью связаны друг с другом, что приводит к увеличению затрат на обслуживание и обновление. Повторное открытие проекта по-прежнему будет сталкиваться с этими проблемами.
Этот проект совершенно особенный, он действительно реализует полное разделение строительного кода и бизнес-кода, иNPM模块
Форма блокирует строительный код и взаимодействует с бизнес-кодом только через файл конфигурации, поэтому разработчики могут развязать руки и написать только бизнес-код.
Ниже приводится сравнение традиционной схемы строительства и этой схемы строительства:
- традиционная конструкция
- Этот план сборки
традиционная конструкция
на основеGulp/Webpack
построенReact/Vue项目
, код проекта разбит накод сборкиа такжеБизнес-код, каталог проекта и конфигурация файла являются более традиционными решениями для создания проектов с участием нескольких человек. После удаления бизнес-кода из всего проекта остается много файлов для сборки кода, конфигурация разбросана, сложно управлять централизованно, ее нельзя использовать из коробки, универсальность относительно низкая. , для управления ему необходимо полагаться на модули зависимостей, которые существуют в этом проекте. Для добавления, удаления и изменения функции сборки и начала работы с новыми коллегами может потребоваться больше времени, чтобы найти код и ознакомиться с логикой сборки.
Этот план сборки
на основе этого проектаReact/Vue项目
, только кодБизнес-код, код сборки объединен вNPM模块
И установите его в глобальной среде, вызовите это решение с помощью команд, чтобы управлять проектами, которые необходимо разработать, и осуществите полное разделение кода сборки и бизнес-кода. При разработке не нужно обращать внимание на то, как написать код сборки и какие инструменты использовать для расширения функции сборки, нужно сосредоточиться только на написании бизнес-кода, во всем проекте только бизнес-код. , Вы можете изменить конфигурацию сборки по умолчанию через файл конфигурации, что значительно сокращает подготовительную работу на ранней стадии проекта.простота,независимость,Эффективность,ремонтопригодность. Он экономит время на ранней стадии создания проекта и может использоваться сразу после установки, что позволяет разработчикам сосредоточиться на написании бизнес-кода.
Сравнение схем
~ | традиционная конструкция | Этот план сборки |
---|---|---|
файл сборки |
build文件夹 ,config文件夹 .browserslistrc .postcssrc ,babelrc .stylelintignore ,.stylelintrc .eslintignore ,.eslintrc
|
без |
деловые документы | src文件夹 |
src文件夹 |
конфигурационный файл | Много, нужно писать отдельно | brucerc.js |
базовый файл |
package.json ,readme.md
|
package.json ,readme.md
|
Зависимые модули | Стек Webpack/Gulp (构建 )Стек технологий React/Vue ( 业务 ) |
Стек технологий React/Vue (业务 ) |
время установки | помедленнее Установите зависимости сборки и бизнес-кода Его необходимо установить один раз для каждой разработки |
Быстрее Устанавливайте только зависимые модули бизнес-кода Установите его глобально |
подготовка к разработке | Напишите код сборки для Webpack/Gulp и нескольких инструментов. | из коробки |
глобальное использование | Не можем | Могу |
Повторное использование сборки | Создавайте новые папки, копируйте и вставляйте код сборки, изменяйте файлы конфигурации и т. д. | Выполнить начальный проект командной строки и построить проект |
сборка для новичков | Необходимо понимать логику кода сборки и файлы конфигурации | выполнить командную строку |
Позднее расширение | Добавляйте, удаляйте и изменяйте функцию сборки в исходном коде сборки. | через конфигурационный файлbrucerc.js Добавить, удалить и изменить функцию сборки |
Управление конфигурацией | Разбросаны по разным профилям сборки Файлы конфигурации различных инструментов должны быть изменены |
Базовая конфигурация для интегрированной сборки через конфигурационный файл brucerc.js покрывать |
🔨 Пример
Ниже приведен полный процесс разработки проекта:
- Посмотреть справку:
bruce -h
- Посмотреть версию:
bruce -v
- Переключить язык:
bruce l
- Войдите в папку:
cd projectList
- Первоначальный проект:
bruce i
- Перейдите в корневой каталог проекта:
cd myProject
- Соберите проект:
bruce b
- Создайте компонент (вам нужно запустить еще один, когда вы находитесь в разработке
cmd
оконное исполнение):bruce n
- Опубликуйте проект (вам нужно запустить еще один, когда он находится в разработке)
cmd
оконное исполнение):bruce b
- Удалите зависимости (сбои сборки или другие непредвиденные ситуации):
bruce r
Пожалуйста, смотрите это для правильной осанкивидео, простой в использовании, удобный и быстрый, установка в один клик для глобального использования, это действительноОбязательный инструмент для отказа от кодирования, ориентированного на архитектуру..
Персональным официальным сайтом автора является использованиеbruce-cli
быть построенным, какbruce-cli
, для заинтересованных студентов, пожалуйста, нажмитеПерсональный сайт JowayYoungпроверьте детали.
📝Сделать
- Исправлена ошибка проверки CSS вне файла vue в рамках проекта Vue.
- Увеличьте использование Tslint для проверки файла vue в проекте Vue.
由于Tslint的性能问题,后续所有Tslint功能改由Eslint代替(这是一个大工程,估计得花2周时间重构现有的Lint配置)
📆Журнал
0.4.0
-
ограничение
bruce-cli
Должен бытьNode v12
Используйте выше -
Исправлять
core-js
Определение версии, если вам нужно импортироватьcore-js
В качестве Polyfill вы должны использоватьcore-js v3
-
Увеличивать
tinyimg-webpack-plugin
, для сжатия изображений - Настройка отображаемого текста интерактивной панели терминала
0.3.0
-
Шаблон проекта React для использования вместо него
Reack Hooks
форма -
Удалить
publicPathProd
а такжеpublicPathTest
Два параметра, путь ссылки на файл пакета единообразно использует абсолютный путь
🔖Авторское право
MIT © Joway Young
Данный проект разрабатывался автором в одиночку.После более чем 2-х летнего осаждения в процессе было проведено большое количество тестов проекта и приложений.На данный момент существует более 40 онлайн-проектов,что достаточно для поддержки реализуемости и стабильности этого проекта.
В связи с нашим ограниченным опытом разработки проектов и техническими накоплениями, мы не можем гарантировать отсутствие ошибок в данном проекте.Если вы обнаружите ошибки или возникнут вопросы при последующем использовании этого проекта, вы можетеIssuesВыдвигайте свои ценные предложения, и автор немедленно ответит и исправит соответствующие ошибки.
⏳ Постскриптум
Этот проект происходит из моего кода сборки в проекте Angular в марте 2017 года, с самого начала.Webpack2
Повторяется до сегодняшнего дняWebpack4
, сказатьWebpack5
Выйдет через некоторое время.
Изначально моя идея заключалась в том, чтобы написать шаблон кода сборки и сохранить его на Github, а затем вытащить код сборки через скрипт. Тем не менее, строительный код и бизнес-код по-прежнему хранятся в папке одновременно, что не просто в управлении, а файлов много и они сложные. В следующий раз, когда вы начнете новый проект, вам нужно скопировать код сборки, а иногда и обновить функцию сборки.Чтобы сохранить единство функции сборки, вам нужно изменить код сборки в нескольких проектах одновременно. В таком случае, почему бы не извлечь эти общие коды сборки и не превратить их в модуль NPM, чтобы его можно было установить и запустить глобально одновременно, как здорово!
В мае 2017 года я начал обновлять этот проект и превратил его в модуль NPM, но он был применен к проекту, за который я отвечаю. Потому что это не было применено к другим проектам, поэтому я не осмеливаюсь открыть исходный код. После почти 1 года применения в более чем 20 проектах, больших и малых, функция этого проекта наконец-то стабилизировалась, поэтому я также решилbruce-cli
Открытый исходный код. на все проходыbruce-cli
Созданный проект может использовать все функции сборки из коробки, такие как отсутствие особых требований или даже нулевая конфигурация для запуска проекта.
Развитие этого проекта прошло через многое, и было много ям, вырытых и заполненных, что очень тяжело и утомительно. Какое-то время я часто задерживался допоздна, чтобы сделать его лучше. Тем не менее, я также многого добился: я получил много новых знаний и навыков, и я использовал все общие знания Node, которые также заложили прочную основу для моей последующей разработки приложений Node. Если вы заплатите, вы получите Я все еще верю в это предложение, потому что я действительно сильно улучшился. По состоянию на 2020 год он успешно используется в более чем 40 проектах, за которые я отвечаю, а также некоторые коллеги и друзья и некоторые небольшие компании также используют этот проект.
Этот проект основан наNode12+
разработан для совместимостиNode10+
, поэтому используяbabel
Исходный код скомпилирован для создания текущей онлайн-версии кода.После того, как будут завершены и применены дополнительные тесты проекта, исходный код будет открыт для всех, чтобы учиться и совершенствоваться вместе.
Если ты чувствуешьbruce-cli
чтобы помочь вам, доступны по адресуIssueначальство提出你的宝贵建议
, автор внимательно прочитает и объединит ваши предложения. подобноbruce-cli
пожалуйста, дайте одинStar,илиForkэтот проект для себяGithub
и настроить функции в соответствии с вашими потребностями.
Обратите внимание на публичный аккаунтIQ前端
, внешний общедоступный аккаунт, ориентированный на навыки разработки CSS / JS, вас ждут другие галантереи переднего плана