Javascript Express呈现index.html,但没有其他页面
我有一个express应用程序,只提供静态html文件Javascript Express呈现index.html,但没有其他页面,javascript,node.js,express,Javascript,Node.js,Express,我有一个express应用程序,只提供静态html文件 let express = require('express'); let path = require('path'); let cookieParser = require('cookie-parser'); let logger = require('morgan'); let indexRouter = require('./routes/index'); let usersRouter = require('./routes/u
let express = require('express');
let path = require('path');
let cookieParser = require('cookie-parser');
let logger = require('morgan');
let indexRouter = require('./routes/index');
let usersRouter = require('./routes/users');
let appRouter = require('./routes/app');
let app = express();
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/app', appRouter);
module.exports = app;
在/public
中,我有index.html
和app.html
在/routes/
中,我有index.js
和app.js
两者基本相同
index.js
let express = require('express');
let router = express.Router();
router.get('/', function (req, res, next) {
res.render('index');
});
module.exports = router;
let express = require('express');
let router = express.Router();
router.get('/', function (req, res, next) {
res.render('app');
});
module.exports = router;
app.js
let express = require('express');
let router = express.Router();
router.get('/', function (req, res, next) {
res.render('index');
});
module.exports = router;
let express = require('express');
let router = express.Router();
router.get('/', function (req, res, next) {
res.render('app');
});
module.exports = router;
当我访问localhost:3000
时,index.html
文件会完美地显示出来
当我访问localhost:3000/app
时,我得到了错误信息
错误:未指定默认引擎,也未提供扩展。
在新视图中(C:\a\Web\todo\node\u modules\express\lib\View.js:61:11)
在Function.render(C:\a\Web\todo\node\u modules\express\lib\application.js:570:12)
在ServerResponse.render(C:\a\Web\todo\node\u modules\express\lib\response.js:1008:7)
在C:\Voliware\Web\todo\routes\app.js:5:9
在Layer.handle[作为handle\u请求](C:\a\Web\todo\node\u modules\express\lib\router\Layer.js:95:5)
下一步(C:\a\Web\todo\node\u modules\express\lib\router\route.js:137:13)
在Route.dispatch(C:\a\Web\todo\node\u modules\express\lib\router\Route.js:112:3)
在Layer.handle[作为handle\u请求](C:\a\Web\todo\node\u modules\express\lib\router\Layer.js:95:5)
在C:\a\Web\todo\node\u modules\express\lib\router\index.js:281:22
在Function.process_参数处(C:\a\Web\todo\node\u modules\express\lib\router\index.js:335:12)
尝试将其添加到您的中间件堆栈中
app.set('view engine','html')代码>您说过“只提供静态html文件”。然后标记以下三行。
//应用程序使用(“/”,索引路由器);
//app.use('/users',usersRouter);
//应用程序使用('/app',批准者)代码>
并访问accesslocalhost:3000/app.html
notaccesslocalhost:3000/app
。因为您没有名为“app”的静态文件。错误:找不到模块“html”