我应该在 ejs 文件中使用脚本标签吗?

2024-02-27

我正在学习如何开发节点应用程序。这是一个人们可以发布城市周围发生的事件的应用程序。

我有一个 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 -->  

现在效果很好,它达到了我想要的效果。

但是,我知道 EJS 旨在获取后端(节点)javascript 代码并将其呈现到视图中。

我的问题是:

  1. 在标签之间添加前端代码是一种黑客行为吗?即,这是正确的编码实践吗?如果没有,更好的方法是什么?

  2. 现在,我的脚本标签之间只有少量代码。当我继续开发应用程序时,如果代码变得太长会发生什么?它应该保留在 ejs 文件中吗?看起来太乱了...


  1. 如果您的应用程序是服务器端渲染的(不是单页应用程序),那么您的方法是合理的。

  2. 您可以将 JS 文件中的代码放在/public文件夹并配置节点服务器以将这些文件作为静态文件提供服务,并添加<script>中的标签.ejs引用这些 JS 文件的文件。

我有一个具有此类实现的示例项目。This https://github.com/yangshun/nutty-ninjas/blob/master/views/arena.jade将是你的 ejs 文件(对于我的情况是 jade)并且this https://github.com/yangshun/nutty-ninjas/tree/master/public/js是放置脚本文件的地方。最后,将您的应用程序配置为从类似目录提供静态资源this https://github.com/yangshun/nutty-ninjas/blob/master/app.js#L23.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我应该在 ejs 文件中使用脚本标签吗? 的相关文章

  • Mongoose 查询执行后回调函数从未被调用

    以下是我的代码 mongoose connect mongodb localhost mydatabase var db mongoose connection db on error console error bind console
  • 使用非常大的背景位置偏移是否存在性能问题?

    我正在构建一个进度条控件 并且正在研究它实际上并不显示进度 而只是旋转 正在发生某事 的指示器的情况 我的设计基本上是交替的对角条纹 本质上是一个像这样的理发杆 但是 旋转 由于希望将尽可能多的负载转移给渲染引擎 我想为此使用 CSS 过渡
  • Javascript:使用 IIFE 和块语句之间的区别

    IIFE主要用于封装作用域 function let myVar 10 not global 但为什么不直接使用块语句呢 let myVar 10 also not global 除了范围封装之外 进一步使用 IIFE 是否还有其他好处 块
  • CSS 内边框?

    我纯粹用 CSS 创建了左侧的按钮 它是一个div 中的一个div 然而 右侧的三个按钮是background属性于img标签 我这样做是为了按照以下说明模拟翻转效果here http kyleschaeffer com best prac
  • 每n秒执行一次函数

    我制作了这个在 10 秒后点击链接的代码片段 function timeout window setTimeout function img left click 1000 setTimeout timeout 1000 timeout 我
  • 在 Cordova 中合并文件的多个部分

    在我的 Cordova 应用程序中 我正在下载任意文件 例如图像或视频文件 这是通过 Cordova 文件传输插件和 Range 标头完成的 因为我需要分段下载文件 我的问题是 我想将几 个小 字节 文件合并回原来的文件中 他们曾经在其中使
  • setTimeout范围问题

    我在控制玩家重生的函数内部定义了一个 setTimeout 我正在创建一个游戏 var player death function this alive false Console log death var timer3 setTimeo
  • Angular UI-Router:多个 URL 到单一状态

    我已经开始使用 Angular 的 ui router 并且我正在尝试弄清楚如何让多个 URL 引用单个状态 例如 orgs 12354 overview retyrns the same pages as org overview 我的
  • 为什么我需要使用 setState 回调来设置依赖于第一个项目的 setState 完成的第二个状态项目的状态?

    在此 componentDidUpdate 方法中 执行 setState 将引号设置为从 fetch 返回的内容后 我必须使用回调再次执行 setState 将 randomQuoteIndex 设置为调用 randomQuoteInde
  • 在 UIWebView 中禁用复制和粘贴

    几乎 我已经尝试了一切方法来禁用复制 粘贴UIWebView但对我来说没有任何作用 我正在加载我的UIWebView来自字符串 字符串数组 如下所示 webView loadHTMLString NSString stringWithFor
  • 在express js中禁用http方法

    我正在我的 Express 应用程序上进行 nessus 测试 这是我得到的 基于每种方法的测试 HTTP 方法 ACL CHECKOUT COPY DELETE GET HEAD LOCK MERGE MKACTIVITY MKCOL 移
  • 只保留 A-Z 0-9 并使用 javascript 从字符串中删除其他字符

    我正在尝试验证字符串以使它们成为有效的网址 我只需要保留 A Z 0 9 并使用以下命令从字符串中删除其他字符javascript or jquery 例如 贝儿餐厅 我需要将其转换为 百丽餐厅 所以字符被删除 只保留 A Z a z 0
  • 使用 Javascript/Node.js 在代码内执行 mongoimport

    node js javascript 中是否有任何库可供个人使用mongoimport在代码中 据我了解 mongoimport 有点像 exe 您必须先执行它 然后才能使用其文本输入环境 是否可以在我的代码中执行 mongoimport
  • 让 Jest 全局设置和全局拆卸在 TypeScript 项目中工作

    我想运行一个在运行测试之前打开数据库连接的函数 全局设置 以及另一个在运行测试后关闭数据库连接的函数 全局拆卸 目前我有以下配置 包 json jest testEnvironment node globalSetup src jest g
  • 从 Flask 运行 NPM 构建

    我有一个 React 前端 我想在与我的 python 后端 API 相同的源上提供服务 我正在尝试使用 Flask 来实现此目的 但我遇到了 Flask 找不到我的静态文件的问题 我的前端构建是用生成的npm run build in s
  • 如何使用 NextJS 使用自托管字体face?

    使用 NextJS 的字体 我已经阅读了有关如何在 NextJS 中使用自托管字体的不同主题 我得到了什么 wait compiling 当我这样做时 font face font family montserrat src url myp
  • 猫鼬中的数组过滤器

    将查询转换为节点 arrayfilter 在 mongoose 中工作的版本或者如何在节点应用程序中运行它们 db getCollection student update id ObjectId 5a377d62d21a3025a3c3a
  • VS Code 扩展 - 获取完整路径

    我正在为 VS Code 编写一个插件 我需要知道调用扩展的文件的路径 无论是从编辑器上下文菜单或资源管理器上下文菜单调用还是用户只需键入扩展命令 function activate context get full path of the
  • Html5画布最热门的任意形状

    我正在尝试开发可以在画布中渲染图像和文本的程序 我尝试处理画布中图像的点击 但它适用于可矩形图像 我的问题 您是否知道处理单击画布中图像的可见部分 非透明部分 的解决方案或框架 我正在寻找 ActionScript hitTestObjec
  • 使用
    元素作为 JavaScript 代码的输入。这是最好的方法吗?

    各位 显然 我是编码新手 所以最近完成了一些有关 HTML 和 Javascript 的 Lynda 课程后 我的简单 HTML 页面遇到了困难 基本上 我想要的是使用 JavaScript 进行基本计算 让用户使用 HTML 输入两个数字

随机推荐

  • 如何创建半透明(后面有内容)UITabBar

    我对 UITabBar 进行了子类化并重写了drawRect 方法以使其透明 并使其看起来像我需要的那样 我遇到的问题是添加到 UITabBarController 的视图没有覆盖整个屏幕 而是在底部上方 49 像素处结束 所以即使我有透明
  • 如何仅使用单个连接在 Npgsql 中执行多个查询?

    我在 npgsql 中创建了多个连接来执行多个查询 如下代码所示 class TransactionAccess private const string connString Host localhost Username postgre
  • 在 Chartist.js 中向 SVG 数据点添加轮廓

    我正在使用 Chartist js 只是想知道您是否可以帮助我对 SVG 应用一些样式 这是我的代码如下 jQuery new Chartist Line ct chart labels 1 2 3 4 5 6 7 8 series 5 9
  • ActiveRecord has_many :通过在批量分配时复制计数器缓存

    ActiveRecord 计数器缓存功能似乎会导致计数器缓存增加两次 我看到这种行为的场景是当我有两个模型时has many through通过连接模型相互建立关系 即 Teacher有很多Student通过Classroom 当使用has
  • 如何编写基于网络的音乐可视化工具?

    我正在尝试找到构建音乐可视化工具以在网络浏览器中运行的最佳方法 Unity 是一个选项 但我需要构建一个自定义音频导入 分析插件来获取最终用户的声音输出 Quartz 可以满足我的需要 但只能在 Mac Safari 上运行 WebGL 似
  • .net 与 Objective c SHA-512 不匹配

    我正在尝试编写用于从 net 函数在目标中创建 sha512 字符串的函数 该函数是 public static string GetSHA512 string strPlain UnicodeEncoding UE new Unicode
  • 在 Express REST API 中使用 OOP 的最佳方式?

    我将全力以赴并仅使用节点来做一个项目 这很有趣 但有时我会有点迷失其中 当我感到困惑时 我想尝试获得理解 这样我就可以正确地构建它 并且不会太不知所措 不管怎样 问题是这样的 我有使用 Express 和 mysql 的 REST API
  • Jackson Scala 模块的小例子?

    任何人都可以向我指出 Jackson 序列化 反序列化及其 2 10 的 Scala 模块的简单示例吗 我正在寻找基于反射的 JSON 不需要逐个字段注释或分配 这似乎可以做到这一点 但他们的文档不包含任何示例 如果我有一个案例类 case
  • 如何解压 .asar 文件?

    我使用以下命令打包了我的 Electron 应用程序 asar pack app app asar 现在 我需要解压它并取回整个代码 有什么办法可以做到吗 来自阿萨尔文档 https github com electron asar 指某东
  • 如何通过 Maven 使用 Netbeans 调试 Spring Boot

    经过很长时间的摆弄 直到我在 Netbeans 8 2 和 Spring Boot 1 4 3 中得到了正确的调试设置 我想我应该把我的发现写下来作为其他人的问答 问题是 Netbeans 的默认配置无法在调试模式下正确启动 Spring
  • Jetpack Compose:如何禁用浮动操作按钮?

    根据docs https developer android com reference kotlin androidx compose material package summary FloatingActionButton kotli
  • 检索与 Perl 中的所有正则表达式完全匹配的模式

    我有一个子图数据库 如下所示 t 3 231 1 v 0 94 v 1 14 v 2 16 v 3 17 u 0 1 2 u 0 2 2 u 0 3 2 t 3 232 1 v 0 14 v 1 94 v 2 19 v 3 91 u 0 1
  • 将不同日期范围内的相似对象分组以获取 SQL Server 中的最小和最大日期

    我有一张桌子 account onln status browse status beg date end date 123456789 On Y 1 1 2018 2 1 2018 123456789 On N 2 2 2018 4 1
  • 为什么这个分配的对象与原始对象共享相同的内存空间?

    在 python 中 我在使用 itertools groupby 模块时遇到了这种奇怪的现象 在Python中 变量赋值意味着将新变量分配给它自己的内存 而不是指向原始内存的指针 根据我的理解 如果这是不正确的 请告诉我 y 7 x y
  • 通过 WebApp 与本地 PC 交互

    我目前正在开发一个公司内部网应用程序 部分要求是让应用程序在用户本地 PC Minitab 上启动一个程序 然后让 Web 应用程序通过其 COM 接口与其进行通信 做这样的事情我有什么选择 一个签名的 Java 小程序和Jacob htt
  • 在 JavaScript 中计算两个数组的交集[重复]

    这个问题在这里已经有答案了 给定两个长度不等的数组 var arr1 mike sue tom kathy henry arr1 length 5 var arr2 howey jim sue jennifer kathy hank ale
  • 从jupyter服务器下载数据

    我通过连接到服务器来使用 ipython 笔记本 我不知道如何以编程方式将内容 例如数据框 csv 文件等 下载到我的本地计算机 因为我无法具体声明路径 如 C user 它将被下载到他们的机器而不是我的机器上 在其中一个笔记本的单独单元格
  • svelte 包应该是依赖项还是 devDependency?

    我知道已经有很多帖子讨论了两者之间的区别dependency and devDependency但我没有找到任何解释 svelte 情况的信息 所以让我们在这里打开这个 在大多数 svelte 包中 比如svelte 材质 ui https
  • 在 VS2012 上禁用 C++11 功能

    是否可以在 VS2012 上禁用 C 11 功能 我的代码还没有准备好 我不想引入进一步的混乱 从 Visual C 2015 Update 3 开始 现在可以为语言行为指定语言版本 显然它不仅仅影响一致性检查 https blogs ms
  • 我应该在 ejs 文件中使用脚本标签吗?

    我正在学习如何开发节点应用程序 这是一个人们可以发布城市周围发生的事件的应用程序 我有一个 ejs 文件 new ejs 它允许用户提交新事件 显然 有一个事件开始时间和结束时间 我想确保结束时间在开始时间之后 所以我简单地添加了一个脚本来