LoginSignup
3

More than 5 years have passed since last update.

express-generator で作成したアプリケーションが heroku で動作しないときに確認すべき点

Posted at

デプロイ直後は表示はされるもののスタイルシートが読み込めておらず、リロードすると Application Error と表示されてしまう。

対応方法

express-generator で生成された app.js は下記の通りです。

app.js
var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(require('node-compass')({mode: 'expanded'}));
app.use(express.static(path.join(__dirname, 'public')));

一番下にある static の指定を上に移動させる

app.js
var app = express();

// ↓ここに移動
app.use(express.static(path.join(__dirname, 'public')));

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

// uncomment after placing your favicon in /public
//app.use(favicon(__dirname + '/public/favicon.ico'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(require('node-compass')({mode: 'expanded'}));
// ↓これを上に移動
// app.use(express.static(path.join(__dirname, 'public')));

動いた。

参考

Node.js with express app crashes on Heroku, works locally

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3