"target": "es2016", // Устанавливает уровень JavaScript, в который компилируется TypeScript (в данном случае ES2016).
"module": "es6", // Определяет, какой модульный формат используется в процессе компиляции (ES6 модули).
"moduleResolution": "node", // Способ разрешения модулей. В данном случае используется разрешение как в Node.js.
"jsx": "preserve", // Как компилировать JSX. В данном случае оставляем JSX без изменений.
"declaration": false, // Указывает, генерировать ли файлы типов (.d.ts). Здесь это отключено.
"removeComments": true, // Указывает, что комментарии должны быть удалены из скомпилированного кода.
"noImplicitAny": false, // Отключает предупреждения о неявных типах `any` в коде.
"noEmitOnError": true, // Указывает, что компиляция должна быть остановлена, если есть ошибки.
"sourceMap": true, // Генерирует карты исходных кодов для упрощения отладки.
"esModuleInterop": true, // Включает совместимость с модулями ES при импорте CommonJS модулей.
"experimentalDecorators": true, // Включает поддержку экспериментальных декораторов в TypeScript.
"emitDecoratorMetadata": true, // Включает генерацию метаданных для декораторов, которые могут использоваться в таких библиотеках как TypeORM или Angular.
"outDir": "ScriptsAndCss/JsScripts", // Указывает директорию для сохранения скомпилированных файлов.
"lib": [ "es2016", "dom" ] // Указывает библиотеки, которые будут включены при компиляции (ES2016 и DOM).
},
"exclude": [
"node_modules" // Исключает папку node_modules из процесса компиляции.
// ваши стили - скопируйте из wwwroot то что там было
```
</details>
<br>
---
- 🌋 Добавить примерно такое содержимое в **`Program.cs`**
> Поясняю - в данном примере вырезано внесение `CSRF` токена в логику работы сервера а также `Middleware` отвечающий за обработку служб защиты от подделки запросов. Тут мы вносим лишь Swagger для генерации документации по API и конфигурационный файл декларирующий **`host`** и **`port`** вашего сервера принудительно.
- 🌋 В диспетчере выполнения задач выполнить задачу `default` для генерации файлов
---
- 🌋 В настройках проекта в разделе `Выходные данные` поставить галочку на `Файл документации` - `Создание файла, содержащего документацию по API` для успешной работы **`Swagger`**
- в свою очередь при вёрстке `Typescript` и активированной задаче `default` в `Диспетчере выполнения задач` - в реальном времени будет перезагружаться страница и мы увидим новые изменения на `Frontned` - лицевой стороне Web-сервера после каждого сохранения файла в проекте
- при установке параметров указанных для `production` версии в файле `webpack.config.js` мы можем собрать `Release` версию и опубликовать её в сеть в которой все файлы `css` и `js` будут сжаты и минимизированы для более быстрой и качественной работы сервера в сети
- мы можем прикрутить любую существующую библиотеку NPM и использовать её в скриптах `Typescript` для создания качественного `Frontend` - состояние которого мы можем отслеживать в реальном времени при разработке. Typescript поддерживает последние возможности ECMAScript (например, async/await, декораторы, модули и т. д.), что делает код более современным и удобным.
- используя ASP.NET Core MVC для серверной части (backend), позволяет создавать масштабируемые, производительные и безопасные веб-приложения
- Typescript для фронтенда (frontend) обеспечивает типизацию и улучшение читаемости кода, предотвращая множество ошибок, которые могут возникнуть при использовании обычного JavaScript.
---
#### 📷 Примерный процесс разработки: 📷
---
🎃 Frontend (Typescript + Webpack):
🎈 Вы пишете код на Typescript, который потом компилируется с помощью Webpack.
Webpack минифицирует и обрабатывает ваши файлы, генерирует отдельные чанки для кода, CSS и изображений.
Grunt помогает автоматизировать задачи, такие как запуск Webpack, минификация CSS/JS, запуск локального сервера с BrowserSync.
Backend (ASP.NET Core MVC):
🎈 Серверная часть обрабатывает бизнес-логику, запросы от клиента и взаимодействует с базой данных.
Вся верстка и фронтенд код (собранный через Webpack) размещаются в папке wwwroot или другой папке для статических файлов.
🎃 Автоматизация сборки и деплоя:
🎈 Grunt автоматически обрабатывает сборку фронтенда, выполняет задачи, такие как минификация, копирование файлов и т. д.
Webpack поддерживает горячую замену модулей, что ускоряет процесс разработки.
Разработка с возможностью тестирования и отладки:
🎈 В процессе разработки с помощью BrowserSync можно синхронизировать несколько браузеров и автоматически перезагружать страницы.
Webpack и Grunt делают разработку более продуктивной за счет автоматизации рутинных задач.