Для использования TypeScript в существующем проекте Strapi можно следовать следующей инструкции:
1. Установите необходимые зависимости:
Убедитесь, что у вас установлен Node.js и npm.
Перейдите в корневую директорию проекта Strapi через командную строку и выполните команду:
npm install --save-dev typescript ts-node @types/node @types/strapi strapi-plugin-typescript
- typescript
и ts-node
- устанавливают TypeScript и инструмент CLI для его запуска во время разработки;
- @types/node
- типы для Node.js, чтобы использовать в TypeScript;
- @types/strapi
- типы для Strapi, чтобы использовать в TypeScript;
- strapi-plugin-typescript
- плагин для Strapi, который интегрирует TypeScript с проектом.
2. Создайте файл конфигурации TypeScript:
Создайте файл tsconfig.json
в корневой директории проекта. Внутри файла добавьте следующую базовую конфигурацию:
{ "compilerOptions": { "target": "es2018", "module": "commonjs", "lib": ["es2018", "esnext.asynciterable"], "declaration": true, "outDir": "./dist", "strict": true, "esModuleInterop": true }, "include": [ "api/**/*" ], "exclude": [ "node_modules/**/*", ".cache/**/*", "dist/**/*" ] }
- target
- указывает на версию ECMAScript, которую TypeScript должен использовать для компиляции кода;
- module
- указывает на модульную систему, которую TypeScript должен использовать;
- lib
- указывает на библиотеки JavaScript, которые должны быть доступны во время компиляции;
- declaration
- генерирует файлы объявлений (.d.ts) для TypeScript;
- outDir
- указывает на директорию, в которую TypeScript должен положить скомпилированный JavaScript код;
- strict
- включает все строгие проверки TypeScript;
- esModuleInterop
- обеспечивает совместимость с CommonJS модулями.
3. Измените команды скриптов в package.json
:
Откройте файл package.json
в корневой директории проекта и измените команды скриптов для использования TypeScript. Замените следующие строки кода:
"scripts": { "develop": "strapi develop", "start": "strapi start", "build": "strapi build" }
на:
"scripts": { "develop": "ts-node --transpile-only --files ./config/env/development/server.ts", "start": "node ./dist/config/env/development/server.js", "build": "tsc", "strapi": "NODE_ENV=development strapi" }
4. Создайте файл server.ts
для разработки:
Внутри директории ./config/env/development
создайте файл server.ts
и добавьте следующий код:
import strapi from 'strapi'; import { loadConfig } from 'strapi/lib/cli/lib/files'; import { logger } from 'strapi-utils'; // Load Strapi configuration const config = loadConfig(); // Run Strapi dev server try { strapi(config).start(); } catch (err) { logger.error(err); }
5. Перезапустите Strapi:
Перезапустите сервер Strapi для применения изменений в конфигурации и скриптах. Выполните следующую команду в командной строке:
npm run develop
Теперь вы можете использовать TypeScript в своих моделях, контроллерах и сервисах Strapi. Создайте файлы с расширением .ts
в соответствующих директориях Strapi (например, api/{collectionType}/models/{modelName}.ts
) и пишите код на TypeScript.
Возможно, вам придется вносить некоторые дополнительные изменения в зависимости от вашего проекта, используя TypeScript. Документация TypeScript и Strapi могут помочь вам справиться с любыми оставшимися трудностями.