部署TypeScript版Strapi至Railway时遇「Cannot find module typescript」错误
部署TypeScript版Strapi至Railway平台遇到的问题
详情
尝试将TypeScript编写的Strapi CMS部署至Railway平台。平台仅提供JavaScript模板,无TypeScript模板,且官方文档未提及TypeScript版本部署至Railway的相关内容。
Railway错误日志
以下是Railway的错误日志,推测系统尝试编译JavaScript文件,但已配置编译器忽略node_modules。
#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 }
tsconfig.json
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快速启动模板中的package.json:
{ "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版本,寻求解决方案。
内容的提问来源于stack exchange,提问作者TheInfamousGrim
相关产品推荐
相关产品推荐

