Aso*_*ool 5 javascript ejs node.js
我正在学习如何开发节点应用程序。这是一个人们可以发布城市周围发生的事件的应用程序。
我有一个 ejs 文件 new.ejs,它允许用户提交新事件。显然,有一个事件开始时间和结束时间。我想确保结束时间在开始时间之后,所以我简单地添加了一个脚本来执行此操作,如下所示:
<!-- EVENT DATE AND TIME -->
<div class=row>
<!-- DATE -->
<div class="form-group col-md-4">
<label for="date">Date *</label>
<input name="date" type="date" class="form-control" id="date">
</div>
<!--START TIME -->
<div class="form-group col-md-4 ">
<label for="starttime">Start Time *</label>
<input name="starttime" type="text" class="form-control" id="starttime">
</div>
<!--END TIME -->
<div class="form-group col-md-4 ">
<label for="endtime">End Time *</label>
<input name="endtime" type="text" class="form-control" id="endtime">
</div>
<script type="text/javascript">
$('#starttime').timepicker();
$('#endtime').timepicker({
'minTime': '12:00am',
'showDuration': true
});
$('#starttime').on('changeTime', function() {
$('#endtime').timepicker('option', 'minTime', $(this).val());
});
</script>
</div> <!-- END OF ROW -->
Run Code Online (Sandbox Code Playgroud)
现在效果很好,它达到了我想要的效果。
但是,我知道 EJS 旨在获取后端(节点)javascript 代码并将其呈现到视图中。
我的问题是:
在标签之间添加前端代码是一种黑客行为吗?即,这是正确的编码实践吗?如果没有,更好的方法是什么?
现在,我的脚本标签之间只有少量代码。当我继续开发应用程序时,如果代码变得太长会发生什么?它应该保留在 ejs 文件中吗?看起来太乱了...
如果您的应用程序是服务器端渲染的(不是单页应用程序),那么您的方法是合理的。
您可以将代码放在文件夹中的 JS 文件中/public,并将节点服务器配置为将这些文件作为静态文件提供服务,并在引用这些 JS 文件的文件<script>中添加标签。.ejs
我有一个具有此类实现的示例项目。这将是您的 ejs 文件(对于我的情况是 jade),这是您放置脚本文件的位置。最后,将您的应用程序配置为从这样的目录提供静态资产。
| 归档时间: |
|
| 查看次数: |
13263 次 |
| 最近记录: |