javascript - 节点无法在 Express/react 应用程序中查找视图“错误”
问题描述
我正在开发我的应用程序,它在几个小时前就开始工作了。但是现在当我启动它时,我收到以下错误。
中没有/views
目录/lib
,但在我的src/
. 它包含error.jade.
我已经尝试了一切。删除/lib
,重新安装所有...
错误:无法在 Function.render 的视图目录“/Users/vemundeldegard/all/server/lib/views”中查找视图“错误”(/Users/vemundeldegard/all/server/node_modules/express/lib/application.js: 580:17) 在 ServerResponse.render (/Users/vemundeldegard/all/server/node_modules/express/lib/response.js:1008:7) 在 /Users/vemundeldegard/all/server/lib/app.js:47: 7 在 Layer.handle_error (/Users/vemundeldegard/all/server/node_modules/express/lib/router/layer.js:71:5) 在 trim_prefix (/Users/vemundeldegard/all/server/node_modules/express/lib/router /index.js:315:13) 在 /Users/vemundeldegard/all/server/node_modules/express/lib/router/index.js:284:7 在 Function.process_params (/Users/vemundeldegard/all/server/node_modules/快递/lib/路由器/index.js:335:12) 在下一个 (/Users/vemundeldegard/all/server/node_modules/express/lib/router/index.js:275:10) 在 Layer.handle_error (/Users/vemundeldegard/all/server/node_modules/express/lib/ router/layer.js:67:12) 在 trim_prefix (/Users/vemundeldegard/all/server/node_modules/express/lib/router/index.js:315:13)
应用程序.js
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var { BUILD_DIR, PUBLIC_DIR } = require('./paths');
var reactRenderer = require('./react-renderer');
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.get('/', reactRenderer);
app.use(express.static(BUILD_DIR));
app.use(express.static(PUBLIC_DIR));
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
路径.js:
"use strict";
var path = require('path');
var BUILD_DIR = path.join(__dirname, '..', '..', 'client', 'build');
var PUBLIC_DIR = path.join(__dirname, '..', '..', 'public');
module.exports = {
BUILD_DIR: BUILD_DIR,
PUBLIC_DIR: PUBLIC_DIR
};
解决方案
(我会发表评论,但我没有足够的代表)
的用法__dirname
引起了我的注意——您是否可能无意中从不正确的目录运行您的应用程序(在这种情况下lib
)?
推荐阅读
- database - 根据时间戳 Kusto Query 删除重复项
- loops - 如何在 Hugo 中列出一个部分的所有页面
- database - 将 Firebase 数据库数组返回到另一个函数但返回空
- ios - 如何在我的静态清单中使用 Codable 将 UIButton IBAction 快速保存到 UserDefaults?
- html - 有没有更简单的方法来使用一张图片,但在网站上多次显示,位置不同?
- python - 使用python和selenium打开tor浏览器窗口时,它说torrc文件丢失
- firebase - 使用 firebase 和 arduinoESP8266 库获取/设置数据时出错
- linux - 使用 Ansible 将特定文件复制到特定服务器
- php - 在 PHP 中实现 PDO
- ios - 如何将 CoreML 与 iOS AVCAPtureDelegate 相机一起用于我的 OWN 模型?