Javascript 错误:未指定默认引擎,也未提供扩展(将应用程序部署到Heroku)
我正在尝试将一个简单的html/css/js应用程序部署到Heroku,我已经用Node.js设置了后端,如下所示: (server.js) (程序文件) (package.json) 每当我尝试使用“node server.js”在本地运行node时,都会收到以下错误消息: 错误:Javascript 错误:未指定默认引擎,也未提供扩展(将应用程序部署到Heroku),javascript,node.js,heroku,heroku-cli,Javascript,Node.js,Heroku,Heroku Cli,我正在尝试将一个简单的html/css/js应用程序部署到Heroku,我已经用Node.js设置了后端,如下所示: (server.js) (程序文件) (package.json) 每当我尝试使用“node server.js”在本地运行node时,都会收到以下错误消息: 错误: No default engine was specified and no extension was provided. at new View (/Users/oas03/dice-game/node
No default engine was specified and no extension was provided.
at new View (/Users/oas03/dice-game/node_modules/express/lib/view.js:61:11)
at Function.render (/Users/oas03/dice-game/node_modules/express/lib/application.js:570:12)
at ServerResponse.render (/Users/oas03/dice-game/node_modules/express/lib/response.js:1012:7)
at /Users/oas03/dice-game/server.js:10:9
at Layer.handle [as handle_request] (/Users/oas03/dice-game/node_modules/express/lib/router/layer.js:95:5)
at next (/Users/oas03/dice-game/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/Users/oas03/dice-game/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/Users/oas03/dice-game/node_modules/express/lib/router/layer.js:95:5)
at /Users/oas03/dice-game/node_modules/express/lib/router/index.js:281:22
at Function.process_params (/Users/oas03/dice-game/node_modules/express/lib/router/index.js:335:12)
此外,Heroku说我的应用程序已经成功部署,但每当我从UI中单击“打开应用程序”时,我都会收到这个消息
以前有人有过这个问题吗?任何帮助都将不胜感激
更新
所以我现在把它设置成这样
var path = require("path");
var express = require('express');
var app = express();
var port = process.env.PORT || 8080;
app.use(express.static('dice-game'));
//routes
app.get("/", function(req, res) {
res.sendFile('index.html', {
root: path.join('dice-game', "dice-game")
});
})
app.listen(port, function() {
console.log("app running");
})
但是我得到了错误:enoint:没有这样的文件或目录,stat'/Users/oas03/dice game/dice game/dice game/index.html'
有什么想法吗@标记res.render(“索引”)
与模板引擎一起使用,如把手或胡须。我假设您只想发送/提供index.html文件。改用res.sendFile
var path=require(“路径”);
var express=需要(“express”);
var-app=express();
var port=process.env.port | | 8080;
应用程序使用(express.static('dice-game'));
//路线
应用程序获取(“/”,函数(请求,恢复){
res.sendFile('index.html',{
root:path.join(uu dirname,“骰子游戏”)
});
})
app.listen(端口,函数(){
console.log(“应用程序运行”);
})
解决了这个问题。解决方案是分别导入每个png图像。它起作用了
var path = require("path");
var express = require('express');
var app = express();
var port = process.env.PORT || 8080;
app.use(express.static('dice-game'));
//routes
app.get("/", function(req, res) {
res.sendFile('index.html', {
root: __dirname
});
})
//route
app.get("/style.css", function(req, res) {
res.sendFile('style.css', {
root: __dirname
});
})
//route
app.get("/dice-1.png", function(req, res) {
res.sendFile('dice-1.png', {
root: __dirname
});
})
//route
app.get("/app.js", function(req, res) {
res.sendFile('app.js', {
root: __dirname
});
})
//route
app.get("/dice-2.png", function(req, res) {
res.sendFile('dice-2.png', {
root: __dirname
});
})
//route
app.get("/dice-3.png", function(req, res) {
res.sendFile('dice-3.png', {
root: __dirname
});
})
//route
app.get("/dice-4.png", function(req, res) {
res.sendFile('dice-4.png', {
root: __dirname
});
})
//rout
app.get("/dice-5.png", function(req, res) {
res.sendFile('dice-5.png', {
root: __dirname
});
})
//route
app.get("/dice-6.png", function(req, res) {
res.sendFile('dice-6.png', {
root: __dirname
});
})
app.listen(port, function() {
console.log("app running");
})
您好,我已经应用了建议的更改,但这次出现了不同的错误,您能再次查看我的问题吗?我已经在上面发布了新错误调整/更改
index.html
文件的根路径,我不知道你的文件结构,我认为你的index.html
在你的express.static(…)
服务静态目录中
No default engine was specified and no extension was provided.
at new View (/Users/oas03/dice-game/node_modules/express/lib/view.js:61:11)
at Function.render (/Users/oas03/dice-game/node_modules/express/lib/application.js:570:12)
at ServerResponse.render (/Users/oas03/dice-game/node_modules/express/lib/response.js:1012:7)
at /Users/oas03/dice-game/server.js:10:9
at Layer.handle [as handle_request] (/Users/oas03/dice-game/node_modules/express/lib/router/layer.js:95:5)
at next (/Users/oas03/dice-game/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/Users/oas03/dice-game/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/Users/oas03/dice-game/node_modules/express/lib/router/layer.js:95:5)
at /Users/oas03/dice-game/node_modules/express/lib/router/index.js:281:22
at Function.process_params (/Users/oas03/dice-game/node_modules/express/lib/router/index.js:335:12)
var path = require("path");
var express = require('express');
var app = express();
var port = process.env.PORT || 8080;
app.use(express.static('dice-game'));
//routes
app.get("/", function(req, res) {
res.sendFile('index.html', {
root: path.join('dice-game', "dice-game")
});
})
app.listen(port, function() {
console.log("app running");
})
var path = require("path");
var express = require('express');
var app = express();
var port = process.env.PORT || 8080;
app.use(express.static('dice-game'));
//routes
app.get("/", function(req, res) {
res.sendFile('index.html', {
root: __dirname
});
})
//route
app.get("/style.css", function(req, res) {
res.sendFile('style.css', {
root: __dirname
});
})
//route
app.get("/dice-1.png", function(req, res) {
res.sendFile('dice-1.png', {
root: __dirname
});
})
//route
app.get("/app.js", function(req, res) {
res.sendFile('app.js', {
root: __dirname
});
})
//route
app.get("/dice-2.png", function(req, res) {
res.sendFile('dice-2.png', {
root: __dirname
});
})
//route
app.get("/dice-3.png", function(req, res) {
res.sendFile('dice-3.png', {
root: __dirname
});
})
//route
app.get("/dice-4.png", function(req, res) {
res.sendFile('dice-4.png', {
root: __dirname
});
})
//rout
app.get("/dice-5.png", function(req, res) {
res.sendFile('dice-5.png', {
root: __dirname
});
})
//route
app.get("/dice-6.png", function(req, res) {
res.sendFile('dice-6.png', {
root: __dirname
});
})
app.listen(port, function() {
console.log("app running");
})