Deploy Nodejs on Heroku fails serving static files located in subfolders Deploy Nodejs on Heroku fails serving static files located in subfolders express express

Deploy Nodejs on Heroku fails serving static files located in subfolders


Finally I found the solution.

I solved that just adding the npm version in my package.json.

{    "name": "bla",    "version": "0.0.1",    "dependencies": {        "express": "3.2.6"    },    "engines": {        "node": "0.10.11",        "npm": "1.2.25"    } }


Apparently, as explain in this question: Heroku(Cedar) + Node + Express + Jade Client-side javascript files in subdirectory work locally with foreman+curl but not when pushed to Heroku, you can't use __dirname with Heroku.

The alternative seems to be:

// At the top of your web.js
process.env.PWD = process.cwd()

// Then
app.use(express.static(process.env.PWD + '/htdocs'));


If none of these solutions worked, check my solution.

Make sure that the sub directories of your directory are added to your Git repository.