Heroku 节点应用程序资源未加载
Heroku Node App Resources Not Loading
我有一个在本地运行良好的 Express Node 应用程序,但是当我部署到 Heroku 时,找不到 /public
和 /bower_components
下的文件。
This post 似乎有类似的问题,但解决方案对我不起作用。
这是我app.js的相关部分:
app.use(express.static(path.join(__dirname, 'public')));
app.use('/bower_components', express.static(__dirname + '/bower_components'));
这是我的 package.json 文件:
{
"name": "MyApp",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www",
"postinstall": "bower install"
},
"dependencies": {
"express": "~4.9.0",
"body-parser": "~1.8.1",
"cookie-parser": "~1.3.3",
"consolidate": "~0.10.0",
"morgan": "~1.3.0",
"serve-favicon": "~2.1.3",
"debug": "~2.0.0",
"bower": "^1.3.12",
"dustjs-helpers": "~1.4.0",
"dustjs-linkedin": "~2.5.0",
"node-compass": "0.2.3"
},
"engines": {
"npm": "2.7.1"
}
}
在浏览器控制台中,我可以验证所有文件都存在
这让我相信 Heroku 正确读取 __dirname 存在问题。
此问题已由 post 解决。
Node.js with express app crashes on Heroku, works locally
我不得不将以下几行移到 app.js
中其他应用配置行的上方
app.use(express.static(path.join(__dirname, 'public')));
app.use('/bower_components', express.static(__dirname + '/bower_components'));
我有一个在本地运行良好的 Express Node 应用程序,但是当我部署到 Heroku 时,找不到 /public
和 /bower_components
下的文件。
This post 似乎有类似的问题,但解决方案对我不起作用。
这是我app.js的相关部分:
app.use(express.static(path.join(__dirname, 'public')));
app.use('/bower_components', express.static(__dirname + '/bower_components'));
这是我的 package.json 文件:
{
"name": "MyApp",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www",
"postinstall": "bower install"
},
"dependencies": {
"express": "~4.9.0",
"body-parser": "~1.8.1",
"cookie-parser": "~1.3.3",
"consolidate": "~0.10.0",
"morgan": "~1.3.0",
"serve-favicon": "~2.1.3",
"debug": "~2.0.0",
"bower": "^1.3.12",
"dustjs-helpers": "~1.4.0",
"dustjs-linkedin": "~2.5.0",
"node-compass": "0.2.3"
},
"engines": {
"npm": "2.7.1"
}
}
在浏览器控制台中,我可以验证所有文件都存在
这让我相信 Heroku 正确读取 __dirname 存在问题。
此问题已由 post 解决。 Node.js with express app crashes on Heroku, works locally
我不得不将以下几行移到 app.js
中其他应用配置行的上方app.use(express.static(path.join(__dirname, 'public')));
app.use('/bower_components', express.static(__dirname + '/bower_components'));