Попытка развернуть страпи CMS, написанную на TypeScript, на железной дороге. Я знаю, что есть шаблон JavaScript, но, к сожалению, нет шаблона TypeScript, и в документации нет ничего о развертывании в Railway с помощью TypeScript.
Вот журналы ошибок с железной дороги. Я думаю, что он может пытаться скомпилировать файлы JavaScript, но я настроил компилятор на игнорирование узловых модулей.
#13 6.049 Error: Cannot find module 'typescript'
#13 6.049 Require stack:
#13 6.049 - /app/node_modules/fork-ts-checker-webpack-plugin/lib/typescript/type-script-worker-config.js
#13 6.049 - /app/node_modules/fork-ts-checker-webpack-plugin/lib/plugin-config.js
#13 6.049 - /app/node_modules/fork-ts-checker-webpack-plugin/lib/plugin.js
#13 6.049 - /app/node_modules/fork-ts-checker-webpack-plugin/lib/index.js
#13 6.049 - /app/node_modules/@strapi/admin/webpack.config.js
#13 6.049 - /app/node_modules/@strapi/admin/utils/get-custom-webpack-config.js
#13 6.049 - /app/node_modules/@strapi/admin/utils/index.js
#13 6.049 - /app/node_modules/@strapi/admin/index.js
#13 6.049 - /app/node_modules/@strapi/strapi/lib/commands/builders/admin.js
#13 6.049 - /app/node_modules/@strapi/strapi/lib/commands/builders/index.js
#13 6.049 - /app/node_modules/@strapi/strapi/lib/commands/build.js
#13 6.049 - /app/node_modules/@strapi/strapi/bin/strapi.js
#13 6.049 at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
#13 6.049 at Function.resolve (internal/modules/cjs/helpers.js:107:19)
#13 6.049 at createTypeScriptWorkerConfig (/app/node_modules/fork-ts-checker-webpack-plugin/lib/typescript/type-script-worker-config.js:16:70)
#13 6.049 at createPluginConfig (/app/node_modules/fork-ts-checker-webpack-plugin/lib/plugin-config.js:11:82)
#13 6.049 at ForkTsCheckerWebpackPlugin.apply (/app/node_modules/fork-ts-checker-webpack-plugin/lib/plugin.js:57:63)
#13 6.049 at createCompiler (/app/node_modules/webpack/lib/webpack.js:73:12)
#13 6.049 at create (/app/node_modules/webpack/lib/webpack.js:134:16)
#13 6.049 at webpack (/app/node_modules/webpack/lib/webpack.js:158:32)
#13 6.049 at f (/app/node_modules/webpack/lib/index.js:64:16)
#13 6.049 at Object.build (/app/node_modules/@strapi/admin/index.js:60:20) {
#13 6.049 code: 'MODULE_NOT_FOUND',
#13 6.049 requireStack: [
#13 6.049 '/app/node_modules/fork-ts-checker-webpack-plugin/lib/typescript/type-script-worker-config.js',
#13 6.049 '/app/node_modules/fork-ts-checker-webpack-plugin/lib/plugin-config.js',
#13 6.049 '/app/node_modules/fork-ts-checker-webpack-plugin/lib/plugin.js',
#13 6.049 '/app/node_modules/fork-ts-checker-webpack-plugin/lib/index.js',
#13 6.049 '/app/node_modules/@strapi/admin/webpack.config.js',
#13 6.049 '/app/node_modules/@strapi/admin/utils/get-custom-webpack-config.js',
#13 6.049 '/app/node_modules/@strapi/admin/utils/index.js',
#13 6.049 '/app/node_modules/@strapi/admin/index.js',
#13 6.049 '/app/node_modules/@strapi/strapi/lib/commands/builders/admin.js',
#13 6.049 '/app/node_modules/@strapi/strapi/lib/commands/builders/index.js',
#13 6.049 '/app/node_modules/@strapi/strapi/lib/commands/build.js',
#13 6.049 '/app/node_modules/@strapi/strapi/bin/strapi.js'
#13 6.049 ]
#13 6.049 }
Конфигурация для компилятора TypeScript.
{
"extends": "@strapi/typescript-utils/tsconfigs/server",
"compilerOptions": {
"outDir": "dist",
"rootDir": "."
},
"include": [
"./",
"./**/*.ts",
"./**/*.js",
"src/**/*.json"
],
"exclude": [
"node_modules/",
"build/",
"dist/",
".cache/",
".tmp/",
"src/admin/",
"**/*.test.*",
"src/plugins/**"
]
}
Вот package.json из шаблона быстрого запуска typescript.
{
"name": "aston-and-fincher-intranet-cms",
"private": true,
"version": "0.1.0",
"description": "A Strapi application",
"scripts": {
"develop": "strapi develop",
"start": "strapi start",
"build": "strapi build",
"strapi": "strapi"
},
"dependencies": {
"@strapi/plugin-graphql": "^4.9.0",
"@strapi/plugin-i18n": "4.9.0",
"@strapi/plugin-users-permissions": "4.9.0",
"@strapi/provider-upload-cloudinary": "^4.9.0",
"@strapi/strapi": "4.9.0",
"better-sqlite3": "8.0.1"
},
"author": {
"name": "George Fincher"
},
"strapi": {
"uuid": "3a5b99f5-14e8-4962-80ef-dcf9bb469d41"
},
"engines": {
"node": ">=14.19.1 <=18.x.x",
"npm": ">=6.0.0"
},
"license": "MIT"
}
Я следовал инструкциям по развертыванию с помощью TypeScript, мой tsconfig.json должен быть в порядке. Я добавил дополнительные переменные среды, но похоже, что это не имеет ничего общего с журналами ошибок.
Любая помощь будет высоко оценена, так как я бы предпочел не использовать версию JavaScript.
Разобрался, его не было в документах, но они буквально не устанавливали машинописный текст в качестве зависимости. Сейчас собираюсь подать жалобу в Strapi. Должен был понять это раньше. Ну ладно 🤷♂️.
Если кто-то еще столкнется с этим, просто ставьте npm install typescript
. Это все исправило для меня.