node.js - 修改锚标记、href 的 URL 时 Ejs 文件未呈现
问题描述
<a class="active" href="/dashboard">
<i class="fa fa-dashboard">
</i><span>Dashboard</span>
</a>
router.get('/dashboard',function(req,res,next){
res.render('dashboard');
});
通过上面的这部分,“dashboard.ejs”文件按预期呈现,但是当我如下所示修改它时,“dashboard.ejs”文件没有被呈现!
<a class="active" href="/dashboard/dashboardcontent">
<i class="fa fa-dashboard">
</i><span>Dashboard</span>
</a>
router.get('/dashboard/dashboardcontent',function(req,res,next){
res.render('dashboard');
});
我想知道为什么在进行如此小的更改时无法呈现文件。
有什么帮助吗?
解决方案
在找到解决方案之前:
app.use(express.static(path.join(__dirname, 'public')));
正如我们所看到的,我没有为 express.static 函数提供的文件创建虚拟路径前缀!
解决方案:
要为 express.static 函数服务的文件创建虚拟路径前缀(该路径实际上并不存在于文件系统中),请指定静态目录的挂载路径,如下所示:
app.use('/static', express.static(path.join(__dirname, 'public')));
我还在“layout.ejs”文件中的所有 CSS、JS、图像链接中添加了这个“/static”,如下所示:
<!-- Bootstrap core CSS -->
<link href="/static/stylesheets/bootstrap.css" rel="stylesheet">
<!--external css-->
<link href="/static/font-awesome/css/font-awesome.css" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="/static/stylesheets/zabuto_calendar.css">
<link rel="stylesheet" type="text/css" href="/static/javascripts/gritter/css/jquery.gritter.css" />
<link rel="stylesheet" type="text/css" href="/static/lineicons/style.css">
<!-- Custom styles for this template -->
<link href="/static/stylesheets/style.css" rel="stylesheet">
<link href="/static/stylesheets/style-responsive.css" rel="stylesheet">
<script src="/static/lib/jquery.min.js" type="text/javascript"></script>
<script src="/static/dist/jquery.validate.min.js" type="text/javascript"></script>
<script src="/static/javascripts/chart-master/Chart.js"></script>
<script src="/static/select2Plugin/select2.min.js"></script>
<link rel="stylesheet" href="/static/select2Plugin/select2.min.css" />
来源:https ://expressjs.com/en/starter/static-files.html
Hope this will be found helpful.
推荐阅读
- android - 请解释FirebaseRecyclerOption的用法
- http - Jmeter HTTP 示例 HTML 报告生成
- ios - 如何更改 UISearchbar 中文本的 fontSize?
- android - KeyboardVisibilityPlugin - 简单名称已定义
- git - Gitlab runner 无法使用来自 ~/.docker/config.json 的凭据进行身份验证
- python - 使用 selenium Web 驱动程序在 python 中解析 URL
- python - 谁能告诉我这个二进制搜索代码哪里出错了?无法向用户打印索引
- twilio - Twilio Ougoing 语音呼叫:令牌不允许首次尝试拨出电话
- angular - Angular 8 测试时无法获取 Injector
- python - `tf.nn.space_to_depth` 是否有等效的 PyTorch 函数