【发布时间】:2016-07-28 01:44:30
【问题描述】:
我正在尝试部署到 heroku,但是当我转到我的地址时,我得到了Error: ENOENT, stat '/app/build/index.html'。否则应用程序部署不会给我任何错误。有人可以解释我做错了什么。这是我的代码和代码结构。
server.js
var express = require('express'),
server = express(),
bodyParser = require('body-parser'),
logger = require('morgan'),
methodOverride = require('method-override'); // for heroku
var port = process.env.PORT || 5000;
server.use(express.static(__dirname + '/build'));
server.use('/src', express.static(__dirname + '/build/src')); // js
server.use('/assets', express.static(__dirname + '/build/assets')); // css, images
server.use('/vendor', express.static(__dirname + '/build/vendor')); // other
server.use(logger('dev'));
server.get('/', function(req, res, next) {
res.sendfile('index.html', { root: __dirname + '/build' });
});
server.listen(port, function() {
console.log("Listening on " + port);
});
应用结构
├── Gruntfile.js
├── LICENSE
├── Procfile
├── README.md
├── bower.json
├── build
│ └── ....
├── build.config.js
├── config
│ └── db.js
├── karma
│ └── karma-unit.tpl.js
├── module.prefix
├── module.suffix
├── node_modules
│ └── ...
├── package.json
├── server.js
├── src
│ ├── app
│ ├── assets
│ ├── common
│ ├── index.html
│ └── less
└── vendor
应用/构建中的结构
├── assets
│ ├── O-viu-0.0.1.css
│ └── README.md
├── index.html
├── karma-unit.js
├── src
│ └── app
│ ├── about
│ │ └── about.js
│ ├── app.js
│ └── home
│ └── home.js
├── templates-app.js
├── templates-common.js
└── vendor
├── angular
│ └── angular.js
├── angular-bootstrap
│ └── ui-bootstrap-tpls.min.js
├── angular-ui-router
│ └── release
│ └── angular-ui-router.js
└── placeholders
└── angular-placeholders-0.0.1-SNAPSHOT.min.js
【问题讨论】: