У меня есть приложение webpack + ts + express + реакции. Я могу построить его на месте без каких-либо проблем. ,И все работает, но когда я публикую это на heroku, я получаю это:
eb.1]: npm ERR! код ELIFECYCLE 2019-11-06T15: 32: 36.057014 + 00:00 приложение [web.1]: npm ERR! errno 2
2019-11-06T15: 32: 36.058319 + 00: 00 app [web.1]: npm ERR! v@0.0.0 start: tsc && node ./build/app.js
2019-11-06T15: 32: 36.058526 + 00: 00 app [web.1]: npm ERR! Состояние выхода 2
2019-11-06T15: 32: 36.058771 + 00: 00 app [web.1]: npm ERR!
2019-11-06T15: 32: 36.058897 + 00:00 приложение [web.1]: npm ERR! Ошибка при запуске сценария v@0.0.0.
2019-11-06T15: 32: 36.059048 + 00: 00 app [web.1]: npm ERR! Это, вероятно, не проблема с npm. Скорее всего, есть дополнительные выходные данные регистрации.
Структура папки
API
клиент
tsconfig
package.json
file app.ts
app.use(cors());
app.use(morgan('dev'));
app.use(express.json());
app.use(cookieParser());
app.use(morgan('dev'));
app.use(express.static(path.join(__dirname, '../client/build')));
app.use('/api/posts', postRoutes);
app.use('/api/users', userRoutes);
app.use('/api', errorRoutes);
app.get('/*', (req, res: Response) => {
res.sendFile(path.join(__dirname, '../client/build/index.html'));
});
const port = process.env.PORT || 1646;
app.listen(port, () => {
// tslint:disable-next-line: no-console
console.log(`listening on port ${port}`);
});
{
"name": "v",
"version": "0.0.0",
"engines": {
"node": "8.11.2",
"npm": "5.6.0"
},
"private": true,
"scripts": {
"dev:front": "cd client && npm run dev",
"dev:server": "ts-node-dev --respawn --transpileOnly ./api/app.ts",
"dev": "concurrently \"npm run dev:server\" \"npm run dev:front\"",
"tsc": "tsc",
"start": "tsc && node ./build/app.js",
"clean": "rimraf ./build",
"build": "tsc && node ./build/app.js",
"heroku-postbuild": "cd client && npm run build",
"heroku-prebuild": "cd client && npm install"
},
"dependencies": { //I Putted evrything here to dependencies
"@material-ui/lab": "^4.0.0-alpha.30",
"cookie-parser": "~1.4.4",
"cors": "^2.8.5",",
"dotenv": "^8.2.0", ....
tsconfig
"target": "es6"
"module": "commonjs"
"outDir": "./build",
"include": [
"api/"
]
package.json client
scripts ...
"build": "npm run clean && webpack -p ---open --config webpack/production.js",
"clean": "rimraf build/*",
"tsc": "tsc --noEmit",
"lint": "tslint './src/**/*.ts*' --format stylish --project . --force",
"dev": "webpack-dev-server ---open --config webpack/development.js"