Я пытаюсь развернуть приложение typj nodejs, используя команду express to heroku, код передвигается нормально, heroku устанавливает зависимости и затем запускает tsc
, но выдает сбой с src/controller/adminTypes.ts:3:34 - error TS2307: Cannot find module '../repo/adminTypes'.
.
Я проверил строку, в которой происходит импорт, и выглядит так
import { insertAdminTypes } from "../repo/adminTypes";
Эквивалентный экспорт происходит так
export const insertAdminTypes = async queryObj => {
// code
};
VSCode прекрасно разрешает пути, когда я пытаюсь запустить tsc локально, все прекрасно компилируется, и я получаю скомпилированные файлы в папке dist
. Это только героку, которая, кажется, выдает ошибку для путей в Интернете. Это происходит не для каждого файла, указанная выше ошибка TS2307
генерируется только для нескольких файлов.
Это следующие конфигурационные файлы.
package.json
{
"name": "express_server",
"version": "0.0.1",
"license": "UNLICENSED",
"main": "./src/server.ts",
"scripts": {
"build-ts": "tsc",
"start": "npx nodemon",
"prod": "npx run build-ts",
"postinstall": "npm run build-ts"
},
"dependencies": {
"@types/body-parser": "^1.17.0",
"@types/dotenv": "^6.1.0",
"@types/express": "^4.16.0",
"@types/jquery": "^3.3.22",
"@types/node": "^10.12.2",
"@types/underscore": "^1.8.9",
"bcrypt": "^3.0.2",
"body-parser": "^1.18.3",
"dotenv": "^6.1.0",
"express": "^4.16.4",
"express-handlebars": "^3.0.0",
"jsonwebtoken": "^8.3.0",
"mongodb": "^3.1.9",
"mysql": "^2.16.0",
"nodemon": "^1.18.6",
"reflect-metadata": "^0.1.12",
"ts-node": "^7.0.1",
"typeorm": "^0.2.8",
"typescript": "^3.1.6",
"underscore": "^1.9.1"
},
"devDependencies": {
"husky": "^1.1.3",
"lint-staged": "^8.0.4",
"prettier": "^1.15.2",
"pretty-quick": "^1.8.0",
"tslint": "^5.11.0",
"tslint-config-prettier": "^1.15.0",
"tslint-plugin-prettier": "^2.0.1"
},
"husky": {
"hooks": {
"pre-commit": "pretty-quick --staged"
}
},
"lint-staged": {
"linters": {
"*.{ts}": [
"npx tslint --fix",
"git add"
]
},
"ignore": [
"./public",
"./environment",
"./node_modules"
]
}
}
nodemon.json
{
"ignore": ["**/*.test.ts", "**/*.spec.ts", ".git", "node_modules"],
"watch": ["src"],
"exec": "npx ts-node ./src/server.ts",
"ext": "ts"
}
tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"esModuleInterop": true,
"target": "es6",
"noImplicitAny": false,
"moduleResolution": "node",
"sourceMap": true,
"outDir": "dist",
"pretty": true,
"baseUrl": ".",
"alwaysStrict": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"paths": {
"*": ["node_modules/*", "src/types/*"]
}
},
"include": ["src/**/*.ts"],
"exclude": ["node_modules"]
}