Испробовал примерно столько вариантов:
1) app.use(express.static(__dirname + '/public')); (работает только на локалке)
2) app.use(express.static(path.join(__dirname, 'public'))); (только локал)
3) app.use(express.static(process.env.PWD + '/public')); (не работает на heroku)
4) app.use("/public", express.static(__dirname + '/public')); (локально)
Ни один из вариантов выше не работал у меня на heroku.
packge.json:
{
"name": "node-js-getting-started",
"version": "0.0.2",
"description": "Sasa",
"engines": {
"node": "6.11.1"
},
"main": "index.js",
"scripts": {
"start": "node index.js",
"test": "node test.js"
},
"dependencies": {
"ejs": "2.5.6",
"express": "^4.15.4",
"socket.io": "^2.0.3"
},
"devDependencies": {
"request": "^2.81.0",
"tape": "^4.7.0"
},
"repository": {
"type": "git",
"url": "https://github.com/heroku/node-js-getting-started"
},
"keywords": [
"node",
"heroku",
"express"
],
"license": "MIT"
}
Причем да, я качал node-js-getting-started, и там тоже используется вариант с __dirname.
Спасибо.