2016-08-04 4 views
1

나는 드롭 박스 동기화를 사용하여 Heroku가에 응용 프로그램을 배포하기 위해 노력하고있어,하지만 내부 서버 오류라고하고, 기록이 보여Heroku App에 누락 된 HTML 모듈이 있습니까?

내하는 index.js 파일이 같은 설정
2016-08-04T16:39:11.536583+00:00 app[web.1]:  at require (internal/module.js:20:19) 
2016-08-04T16:39:11.536571+00:00 app[web.1]: Error: Cannot find module 'html' 
2016-08-04T16:39:11.533835+00:00 heroku[router]: at=info method=GET path="/" host=comboracle.herokuapp.com request_id=3d60846c-2426-4a6f-a7a9-dbf89e5786b5 fwd="174.67.241.64" dyno=web.1 connect=0ms service=79ms status=500 bytes=232 

:

var express = require('express'); 
var app = express(); 
app.set('port', (process.env.PORT || 5000)); 

app.use(express.static(__dirname + '/public')); 
app.set('views', __dirname + '/public'); 

app.get('/', function(request, response) { 
    response.render('public/handcheck.html'); 
}); 

app.listen(app.get('port'), function() { 
    console.log('The app is live on port' + app.get('port')); 
}); 

는 그리고 내 package.json은 다음과 같습니다

{ 
    "name": "combo-oracle", 
    "description": "combo probability evaluator for tcgs", 
    "repository": "https://github.com/heroku/comboracle", 
    "keywords": ["node", "express", "static"], 
    "scripts": { 
    "start": "node index.js" 
    }, 
    "version": "0.0.1", 
    "dependencies": { 
    "express": "*" 
    } 
} 

는 내가 알고있는 것처럼, HTML이 작동하려면 특정 모듈을 필요가 없습니다. 내 로컬 테스트 결과 .html 파일 렌더링이 작동하지만 여기서 무슨 일이 일어나고 있는지 잘 모르겠습니다.

답변

0

보기 엔진을 정의하지 않고 response.render을 사용할 수 없습니다. render 메서드를 사용하려는 경우 ejs과 같은보기 엔진을 사용하려면 이 필요합니다. 당신은 그냥 정적 HTML 파일을 렌더링 할 경우

,이 같은 수행 할 수

var express = require('express'); 
var ejs = require('ejs'); 

var app = express(); 
app.set('port', (process.env.PORT || 5000)); 

app.use(express.static(__dirname + '/public')); 
app.set('views', __dirname + '/public'); 
app.engine('html', ejs.renderFile); 
app.set('view engine', 'html'); 

app.get('/', function(request, response) { 
    response.render('public/handcheck.html'); 
}); 

app.listen(app.get('port'), function() { 
    console.log('The app is live on port' + app.get('port')); 
}); 
관련 문제