NiceFish
NiceFish — это серия проектов, реализующих модель разработки и развёртывания с разделением на клиентскую и серверную части.
Клиентская часть имеет три версии:
Серверная часть имеет две версии:
🚀🚀🚀 Пожалуйста, не скупитесь на ⭐️ Star ⭐️, чем больше звёзд, тем больше мотивации. 🚀🚀🚀
Название | Версия | Описание |
---|---|---|
Angular | 16.2.0 | Ядро библиотеки Angular. |
PrimeNG | 16.2.0 | Открытый набор компонентов. |
Bootstrap | 5.2.3 | Реактивный макет. |
ngx-bootstrap | 11.0.2 | Набор компонентов на основе Bootstrap с открытым исходным кодом. |
echarts | 5.4.2 | Библиотека графиков от Baidu. |
nngx-echarts | 15.0.3 | Компоненты Angular на основе echarts. |
ckeditor5-angular | 5.2.0 | Редактор форматированного текста. |
font-awesome | 4.7.0 | Библиотека иконок с открытым исходным кодом. |
Примечание: чтобы избежать проблем с совместимостью модулей NodeJS, в файле package.json зафиксированы все версии модулей Node. Если необходимо, вы можете протестировать совместимые версии самостоятельно (не рекомендуется, так как это может занять много времени).
Откройте терминал и последовательно выполните следующие команды: git clone https://gitee.com/mumu-osc/NiceFish.git cd NiceFish npm i -g @angular/cli npm i ng serve
Откройте браузер и перейдите по адресу http://localhost:4200/.
🚀🚀🚀 Для разработчиков из Китая: из-за сетевых причин рекомендуется установить nrm для управления реестром npm.
npm i -g nrm
nrm use taobao
Теперь при установке модулей с помощью npm будет использоваться реестр Taobao.
Для удобства разделения клиентской и серверной частей в этом проекте предусмотрены два режима запуска:
Конфигурационные параметры, связанные с окружением, находятся в environment.* и angular.json.
Выполните следующую команду для проведения модульного тестирования:
ng test
По умолчанию используется ChromeHeadless для выполнения модульных тестов, тесты выполняются параллельно в соответствии с количеством ядер процессора, конфигурация karmar.conf.js основана на проекте Clarity от VMware, см. https://github.com/vmware-clarity/ng-clarity.
Отчёт о покрытии кода:
Подробные инструкции по использованию модульного тестирования и синтаксиса Jasmine см. в: https://angular.io/guide/testing.
С версии v12 Angular официально отказался от предыдущего инструмента интеграционного тестирования Protractor (протрактор), и этот проект перешёл на официальный рекомендуемый инструмент интеграционного тестирования Cypress, выполните следующую команду для запуска интеграционного теста:
ng e2e
Подробнее о Cypress см.: https://testing-angular.com/end-to-end-testing/#end-to-end-testing.
В соответствии со статусом разработки доступны два режима сборки:
Если вам нужно, чтобы <base href="/NiceFish/"> отображался в index.html конечного продукта, добавьте параметр --base-href /NiceFish/ после вышеуказанных команд.
Обратите внимание, что здесь NiceFish — это имя проекта, если вы изменили имя проекта на другое, замените NiceFish на ваше собственное имя проекта.
Пожалуйста, последовательно выполните следующие команды (пожалуйста, не используйте мой ID, замените его на ваш собственный идентификатор платформы Docker):
Ниже приведён анализ структуры модуля после упаковки с использованием webpack-bundle-analyzer:
Похоже, что CKEditor и ECharts занимают большой объём, и требуется асинхронная загрузка.
Чтобы использовать webpack-bundle-analyzer, выполните следующие действия:
npm i webpack-bundle-analyzer --save-dev
Добавьте строку "bundle-report": "webpack-bundle-analyzer dist/browser/stats.json" в scripts в package.json
Скомпилируйте с помощью ng build --stats-json (опция --stats-json создаст файл stats.json). Конфигурация файла
Выполнить npm run bundle-report для просмотра процесса упаковки.
Название | Описание | Звёзды |
---|---|---|
NiceFish (美人鱼) | Это интерфейс на Angular, основанный на последней версии Angular и использующий библиотеку компонентов PrimeNG. | |
NiceFish-React | Это интерфейс на React, основанный на React 18.0.0, использующий PrimeReact и настраиваемую версию Bootstrap. Чистый JSX без использования TypeScript. | |
nicefish-ionic | Это демо для мобильных устройств, основанное на ionic, которое уже поддерживает PWA. | |
NiceBlogElectron | Это проект для рабочего стола на основе Electron, который упаковывает NiceFish в программу для рабочего стола с помощью Electron. Проект предоставлен коллегой из ZTE. Я его разветвил, и мне пришлось изменить несколько версий модулей узлов. Если вы изучаете, как использовать Electron для разработки приложений для рабочего стола, обратитесь к этому проекту. |
Название | Описание | Звёзды |
---|---|---|
nicefish-spring-boot | Используется для демонстрации способа подключения кода переднего плана к серверной службе в режиме разделения переднего и заднего планов. Базовая версия уже завершена. На её основе можно продолжить разработку кода, подходящего для вашего бизнес-сценария. | |
nicefish-spring-cloud | Используется для демонстрации способа подключения кода переднего плана к распределённой серверной службе в режиме разделения переднего и заднего планов. ## 11. О типичных проблемах в среде NodeJS |
Китайские разработчики: если вы используете cnpm для установки зависимостей, это может привести к несовместимости некоторых пакетов и невозможности запуска приложения. Причина на данный момент неизвестна, требуется решение от официальных представителей cnpm. (cnpm — это не просто ускоренный узел, он выполняет множество собственных операций, включая предварительную компиляцию и кэширование некоторых модулей C++ для Node, поэтому пакеты, установленные с его помощью, могут отличаться от тех, что доступны из официального источника.) Это не проблема Angular, она характерна для всех фреймворков переднего плана.
Если ранее вы устанавливали @angular/cli, сначала удалите его: npm uninstall -g @angular/cli.
Если вы ранее устанавливали старую версию angular-cli, сначала удалите её: npm uninstall -g angular-cli.
Если вы уже пытались установить модули Node с помощью npm install, вручную удалите каталог node_modules в корне NiceFish и установите модули заново с помощью npm.
Для быстрого удаления каталога node_modules через командную строку используйте следующие команды:
В случае возникновения других загадочных проблем рекомендуется удалить каталог node_modules вручную, переключиться на официальный источник npm и переустановить все модули Node.
При необходимости развернуть проект на другом типе сервера, например Tomcat, потребуется выполнить некоторые простые настройки сервера для поддержки HTML5 PushState маршрутизации. Подробные инструкции можно найти по ссылке: https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions. В разделе «How to: Configure your server to work with html5Mode» приведены примеры конфигураций для различных веб-контейнеров, включая IIS, Apache, nginx, NodeJS и Tomcat. (Обратите внимание, что эта конфигурация не является уникальной для Angular, и все современные SPA-фреймворки переднего плана требуют такой конфигурации.)
Скриншот |
---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
MIT
(Примечание: вы можете свободно использовать этот проект, но автор не несёт ответственности за любые убытки, которые могут возникнуть в результате использования этого проекта.)
(Автор этого проекта ищет новую работу. Если у вас есть хорошие возможности, пожалуйста, свяжитесь со мной в VX: lanxinshuma)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )