развернуть Typescript GraphQL в производственном выпуске - PullRequest
0 голосов
/ 17 января 2020

Я пытался в течение недели исследовать и развертывать свою подачу в производство, но всегда не мог скомпилировать, мой сервер использовал Typescript, Nexus GraphQL, Prisma с docker -compose, когда в режиме разработки я могу работать гладко с ts-node-dev перед первым запуском моего приложения мне нужно активировать docker -композицию Prisma, а затем развернуть службу Prisma и сгенерированные службы, затем я запускаю ts-node-dev, это работало, но когда я делаю это в ts-node для производства, это не удалось, я пытался использовать pm2, но он не работает, потому что когда я использую ts-node, он всегда не компилировался на моем сервере.

Я пробовал много вещей опция в этом открытом выпуске на pm2 GitHub работает машинопись с pm2

я тоже пробовал pm2 start ts-node -- -P tsconfig.server.json ./src, что мой tsconfig.server. json вот так

{
  "extends": "./tsconfig",
  "compilerOptions": {
    "sourceMap": false
  }
}

и это мой базовый tsconfig. json:

{
    "compilerOptions": {
         "lib": ["esnext", "dom"],
          "sourceMap": true, 
          "outFile": "./",
          "outDir": "./dist",  
          "strictFunctionTypes": true,
          "strictBindCallApply": true,
          "noImplicitThis": true,                
          "alwaysStrict": true, 
          "skipLibCheck": true,  
          "esModuleInterop": true
    }
}

он не скомпилировался после того, как я запустил команду, о которой я упоминал выше

, и я попытался использовать экосистему PM2, это был еще т он же, ничто так не работает в моей экосистеме, как это

{
    "script": "ts-node",
    "args": "./src"
}

У вас все получается в работе с Typescript ?? Могу ли я узнать, как их развернуть? это значит для меня, если вы поделитесь своим опытом для этого :) и надеюсь, что вы можете помочь :)

1 Ответ

0 голосов
/ 27 января 2020

Пожалуйста, попробуйте использовать tsc для переноса вашего проекта. Например, tsc --outDir dist/ для создания допустимых. js файлов в папке dist. Если при транспортировке возникают какие-либо ошибки, их необходимо исправить.

После успешной транспортировки вы можете использовать узел для обслуживания вашего действительного js из папки dist. Например, node dist/src/index.js.

...