【问题标题】:Deploying Node.js typescript application to heroku将 Node.js 打字稿应用程序部署到 heroku
【发布时间】:2021-03-13 11:18:52
【问题描述】:

我无法将 Node.js 打字稿应用程序部署到 Heroku。如果您能帮助我,那就太好了。

如果我运行npm run buildnpm run startnpm run start:dev,一切似乎都运行良好。当我尝试使用 git push heroku main 将我的应用程序部署到 Heroku 时,我收到以下错误:

我检查了我的应用程序中的每个导入,但在我的package.json 中的"dependencies" 中找不到一个不正确或缺失的导入。

我确实对解决方案一无所知,但我认为一些额外的信息可能有用:

文件结构:

过程文件:

web: node build/server.js

tsconfig.json:

{
  "compilerOptions": {
    "target": "es5",                     
    "module": "commonjs",                  
    "lib": ["es6"],                     
    "allowJs": true,
    "outDir": "./build",                          
    "rootDir": "./src",
    "strict": true,         
    "noImplicitAny": true,
    "esModuleInterop": true,
    "resolveJsonModule": true
  }
}

脚本:

  "scripts": {
    "start": "set NODE_ENV=production&& npm run build && node build/server.js",
    "start:dev": "set NODE_ENV=development&& npm run build && nodemon --ext \".ts,.js\" --watch \"./src\" --exec \"ts-node ./src/server.ts\"",
    "start:local": "set NODE_ENV=local&& nodemon",
    "test": "ts-mocha -p ./tsconfig.json ./src/**/*.spec.ts",
    "coverage": "nyc -r lcov -e .ts -x \"*.test.ts\" npm run test",
    "build": "rimraf ./build && tsc"
  }

【问题讨论】:

  • 该屏幕截图未显示错误消息中的任何模块。但是在回购中我注意到它是例如Interface 不是 interface。看起来您在本地使用 Windows; Heroku dyno 是 Linux,你必须小心你的外壳。
  • 哦,是的,我会更新截图。我使用 PascalCase 作为文件名。当我在套管上检查所有导入时,我将尝试再次部署该应用程序。如果运行没有任何错误,我会提前投票赞成你的评论:) Ty!
  • 似乎 github 没有更改文件名。虽然我在本地有正确的文件名,但在 github 中它们都是错误的,所以我不得不删除项目 gitfile,更改文件名并在初始化一个新的 git 文件后强制推送。再次感谢@jonrsharpe 帮助我。如果其他人读到这个:注意命名 -> 本地文件名必须匹配 github 文件名

标签: node.js typescript heroku


【解决方案1】:

似乎 github 没有更改我的文件名。虽然我在本地有正确的文件名,但在 github 中它们都被错误地大小写了。在我的项目中初始化一个新的 git 文件后,我必须删除项目 gitfile,更改文件名并强制推送到我的 git 存储库。感谢@jonrsharpe,我注意到大小写的重要性以及如果所有内容都按照应有的方式编写,我们应该如何仔细观察。如果其他人遇到同样的问题:注意命名 -> 本地文件名必须与 github 文件名匹配!!

【讨论】:

    猜你喜欢
    • 2019-05-26
    • 1970-01-01
    • 2021-08-29
    • 2018-01-02
    • 2012-10-30
    • 2020-11-30
    • 1970-01-01
    • 2017-09-14
    • 2016-04-08
    相关资源
    最近更新 更多