如何将外部 .js 文件包含到 ejs Node 模板页面

2024-01-05

我找不到将外部 .js 文件包含到 Node ejs 模板中的方法。我想将逻辑和数据放入外部 .js 文件中的对象中,将该文件包含到 index.ejs 模板并从中提取数据。

我尝试通过插入标准方式<script src="sample.js"></script>,并且它不起作用

然后我尝试了 ejs 特定关键字<% include partials/sample.js %>这仅适用于添加部分(ejs 代码片段)。

我将 .js 文件插入到可执行文件 server.js 中定义的静态目录中,再次没有结果。

但有趣的是,例如,将 css 文件包含到 ejs 模板中经典方法可以正常工作

<link href="/assets/styles.css" rel="stylesheet" type="text/css" />

解决方法是包含外部 ejs 文件,我将逻辑和数据放入 标记内,但这显然是一个补丁,而不是一个可行的解决方案,因为 ejs 不是 js 文件。此外,它不起作用。

我在互联网上找不到任何解决方案。有什么提示吗?

Thanks


你不能.

注意:您只能将数据从 .ejs 文件传递​​到 .js 文件,而不能以其他方式传递数据。它不起作用,因为 .ejs 在服务器端呈现,而 .js 在客户端运行。 我假设您在服务器端使用 EJS

1) 您可以将 ejs 变量值传递给 Javascript 变量

    <% var test = 101; %> // variable created by ejs
    <script>
       var getTest = <%= test  %>;  //var test is now assigned to getTest which will only work on browsers
       console.log(getTest);  // successfully prints 101 on browser
    </script>

2) 不能将 js 变量值传递给 ejs 变量

是的,你不能:如果它在服务器上。

Why:

EJS 模板将在 js 开始执行之前在服务器上渲染(它将在浏览器上启动),因此无法返回服务器并要求对已发送到浏览器的页面进行一些先前的更改。

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

如何将外部 .js 文件包含到 ejs Node 模板页面 的相关文章

  • 无法读取未定义的属性“isLoggedIn”

    此代码用于添加产品 然后添加到购物车和订单 并在后端使用 mongodb 创建 pdf 实际上 session isLoggedIn 是在 auth js 中定义的 检查该代码 但仍在 app js 中它给出了此错误 应用程序 JS代码 c
  • Node.js:如何将流读入缓冲区?

    我编写了一个非常简单的函数 从给定的 URL 下载图像 调整其大小并上传到 S3 使用 gm 和 knox 我不知道我是否正确地将流读取到缓冲区 一切正常 但这是正确的方法吗 另外 我想了解有关事件循环的一些信息 我如何知道函数的一次调用不
  • Bot Framework openUrl 不适用于信使上的建议操作

    我正在使用 Bot Builder Node js sdk 创建 facebook 机器人 并尝试创建建议操作 该操作将用户导航到网页 我知道 facebook 有限制 它仅重定向到 https 端点 但由于我重定向到的页面是 https
  • node.js 和 npm 在 Windows 7 64 位旗舰版中没有网络访问权限

    注意 对于遇到此问题的其他人 我尝试了所有建议和所有研究 最后我格式化了硬盘并重新安装了windows 尽管从一开始就是全新安装 但某些 Windows 安装似乎根本无法与 Node 一起使用 据我所知 这是唯一的解决方案 首先 我已经发现
  • node npm run watch 退出状态 3221225725

    我必须格式化我的驱动器 但我的一个项目不再工作 所有其他相同类型的项目都运行良好 这是 Laravel Vue JS 问题是我无法运行 npm run watch dev 或 production 他们都给出了错误 拉拉维尔 5 7 npm
  • JavaScript TypeError:无法读取未定义的属性“startsWith” - 不和谐机器人

    在开始这个问题时 我必须说我对 javascript 知之甚少 我在 Java 中练习过 只是想制作一个 有点 简单的 Discord 机器人 它会随机说出消息 我将各种教程中的 2 段代码组合在一起 目前有 var Discord req
  • 具有匹配模式的 ioredis 密钥

    我想用键匹配模式 LOGIN 搜索 Redis 数据库 我在我的应用程序中使用 ioredis 昨天我搜索了整个网络 我得到了一些执行这项工作的选项 如下所示 KEYS 扫描流 Issue import Redis from ioredis
  • 找到 Webpack 配置文件但未配置条目

    我正在尝试为我的个人项目组织一个 webpack 2 模板webpack dev server并使用 npm 命令运行它 但我收到此错误 Configuration file found but no entry configured 这很
  • Node.js 有水豚吗?

    有谁知道 Node js 是否有类似 capybara 的东西 怎么样Zombie http zombie labnotes org 僵尸 js 使用 Node js 进行极其快速的无头全栈测试 The Bite 如果你要编写一个速度极快的
  • 如何从控制器返回 PDF 文件

    我正在尝试使用 NestJs 从控制器端点返回 PDF 文件 未设置时Content typeheader 返回的数据getDocumentFile 很好地返回给用户 然而 当我添加标头时 我得到的返回似乎是某种奇怪形式的 GUID 响应总
  • 如何使用 Stripe 在一次操作中创建客户和卡片?

    我正在尝试第一次初始化客户 我有一个表格 他们可以在那里注册和填写所有内容 然后他们提交 在客户端上 会发生以下情况 var cardValues AutoForm getFormValues credit card form insert
  • Visual Studio 代码断点在使用 TypeScript 的 Node.js 上不起作用

    我尝试了很多解决方案 但没有人适合我 代码执行 但我无法放置断点并调试它 请你帮助我好吗 我尝试过以下 VSCode 配置脚本 type node request launch name Typescript Node JS program
  • socket.io 作为客户端

    有什么方法可以将socketio作为客户端运行 不是浏览器 而是nodejs脚本 我需要将数据从服务器广播到一些客户端 浏览器 和另一台linux机器 仅运行nodejs来获取变量 没有浏览器 欢迎任何想法 Regards github上有
  • 如何在nodejs缓冲区中存储整数?

    节点jsBuffer http nodejs org docs v0 4 12 api buffers html是相当膨胀 然而 它似乎适合存储字符串 构造函数采用字符串 字节数组或要分配的字节大小 我使用的是 Node js 0 4 12
  • 当请求新页面时,如何将 AngularJS 路由与 Express (Node.js) 结合使用?

    我正在使用 Express 它从静态目录加载 AngularJS 一般情况下我会要求http localhost 其中 Express 为我服务index html以及所有正确的 Angular 文件等 在我的 Angular 应用程序中
  • 重写规则,以便正确加载具有绝对路径的 css 和 js 文件

    我花了两个小时 但我无法弄清楚 我不知道如何谷歌解决方案 这是我在 htaccess 文件中的重写规则 RewriteCond REQUEST URI blog RewriteRule blog http localhost 2368 1
  • 护照:登录和帐户注册的不同重定向

    我在我的应用程序中使用护照模块 github身份验证 我想根据操作进行重定向 我检查这是否只是正常登录或者用户是否第一次登录 passport use new GitHubStrategy clientID conf github app
  • 如何使用 Playwright 使用选择器查找框架 (iframe)

    我有一个小问题 无法找到使用 Microsoft Playwright 框架的答案 根据您可以使用以下代码获取 iframe const frame page frame frame login 但是如何使用选择器来查找 iframe 并与
  • 如何清除NPM的https代理设置?

    如何清除NPM之前的ssl代理设置 好吧 我搜索了很多 但我得到的所有帖子主要是关于如何set公司网络中的代理 我尝试将代理设置为空 npm config set http proxy npm config set https proxy
  • "message": "ENOENT: 没有这样的文件或目录,打开 'E:\\astrology\\utils\\uploads\\1600798534862qf.png'"

    正如标题所示 我得到error message ENOENT no such file or directory open E astrology utils uploads 1600798534862qf png 在我的项目中 即使在通过

随机推荐

  • Heroku config:push 不更新环境变量

    我已经将一个应用程序部署到 Heroku 并且当前将环境变量存储在 env 文件中 我用了heroku config push将变量推送到heroku 效果很好 现在 我想更新其中之一 我在 env 文件中更改了它 然后运行heroku c
  • 如何使用 sqoop 在 Hive 中创建外部表。需要建议

    使用 sqoop 我可以创建托管表 但不能创建外部表 请让我知道从数据仓库卸载数据并将其加载到 Hive 外部表中的最佳实践是什么 1 仓库中的表是分区的 有些是按日期分区 有些是按状态分区 请将您的想法或做法应用于生产环境 Sqoop 不
  • 使用 Python 旋转 EXIF 中指定的方向的图像,无需 PIL(包括缩略图)

    我有以下场景 我正在将 iPhone 上的图像连同 EXIF 信息一起发送到我的 Python 套接字服务器 我需要根据拍摄图像时的实际方向正确定位图像 我知道 IOS 总是将图像保存为横向左并将实际方向添加为 EXIF 字段 EXIF I
  • Android:是否可以用数字更新 ImageView/ImageButton 以显示新消息的数量?

    在 iOS 中 我们有一个功能 可以通过在图标的右上角显示一个小数字来为用户更新应用程序图标 并添加新的待处理消息 类似地 我想知道我们是否有方法来更新 ImageView ImageButton在android中 这里我不想更新主屏幕上的
  • 如何在拉取/合并请求之前更新(拉取)分支?

    例如 假设我有一个名为develop 我的所有功能都将是从创建的分支develop稍后我需要执行合并请求 在 GitLab 中 在 GitHub 中将是拉取请求 如果我需要在将新分支推入之前更新它origin并执行合并 拉取请求 git p
  • WebDriverError 错误:Chrome 无法启动:异常退出

    我正在尝试在 ubuntu 14 04 虚拟机上运行量角器测试 通过谷歌云 由于某种原因 当我运行 量角器conf js 时 我收到一条错误消息 E 启动器 WebDriverError 未知错误 Chrome 无法启动 异常退出 我按照此
  • iPhone SDK:锁定方向

    我在以前的应用程序中看到过它 忘记应用程序名称 您可以在其中锁定屏幕的当前方向 有没有一种简单的方法可以完成此操作 例如 只需使用按钮即可 只需将 ivar 添加到您的应用程序委托即可通过按锁定按钮进行设置 然后在所有视图控制器中 您只需检
  • 如何在 Mac 上安装 sshpass?

    我想从我的 Mac 自动进行 ssh 登录 它确实有一个简单的解决方案 sshpass p my password ssh m username hostname 但我的问题是在我的 Mac 上安装 sshpass 2022 年更新 不幸的
  • 尝试启动多个线程时索引超出数组范围

    我有这段代码 它给了我一个 索引超出了数组的范围 我不知道为什么会发生这种情况 因为变量i应始终小于数组的长度bla因此不会导致此错误 private void buttonDoSomething Click object sender E
  • 获取我的 WAN IP 地址

    我怎样才能以编程方式获取从互联网上看到的我的网络的IP地址 显然 我的路由器在连接到 ISP 时可以访问该属性 有没有办法使用标准协议从路由器获取此信息 我唯一的选择是要么找到一个返回我的IP地址的WS 非常难做到 要么就去类似的地方Wha
  • Webpack:如何使角度自动检测 jQuery 并将其用作 angular.element 而不是 jqLit​​e?

    我正在使用 Webpack 构建 Angular 1 4 项目 该项目使用了多个 jQuery 插件 这些插件被包装在 Angular 指令中 这些指令内部使用angular element 可能暗示 angular element 是真正
  • 如何从现有的可观察对象中删除扩展器?

    我正在使用 Knockout Validation 插件 并使用扩展器根据需要设置可观察值 myObservable extend required true 添加扩展器后可以将其删除吗 您可以从可观察对象中删除所有与验证相关的属性 这些属
  • 从 NSDictionary 设置时,BOOL 值从 NO 更改为 Yes

    我有这个代码 if args valueForKey showSetupScreen BOOL showSetupScreen args valueForKey showSetupScreen NSLog showSetupScreen Y
  • Azure ARM“代码”:尝试更新 vnet 时“InUseSubnetCannotBeDeleted”

    我有一个相当简单的 ARM 模板 用于创建 vnet 子网和服务端点 当我尝试更改服务端点时 出现错误 代码 InUseSubnetCannotBeDeleted 指出我的一台虚拟机正在使用其中一个子网 但是 我不想删除该子网 我只是想更新
  • Google Apps 脚本附加源代码/安全性

    我正在构建一个 Google Apps 脚本插件 并想知道当我将其发布到 Marketplace 时是否任何人都可以访问底层源代码 我想在代码中存储密码 私钥 并希望确保安装该应用程序的任何人都无法访问它 使用 Google Apps 脚本
  • SQL:SELECT IN 更快且最佳实践?

    如果我使用 2 个查询 第一 查询所需的所有键 ID 第二 select from tab1 where tab1 id in ids list ids 列表可能有数千个 这样做是明智的 最佳的做法还是推荐的做法 作为一般规则 考虑到您对较
  • php7 中删除了 utf8_(en|de) 代码?

    我最近在我的开发服务器上切换到 PHP 7 到目前为止 它运行得很好 自从我更新到PHP 7 0 3 10 deb sury org trusty 1 今天早些时候 utf8 decode and utf8 encode功能不再可用 然而
  • 如何在导航抽屉内创建​​可扩展的listView?

    我需要创建一个导航抽屉 例如 Flipkart 或 Astro 文件管理器应用程序 如何用可扩展的 listView 替换 listView 我需要一个像这样的导航抽屉 这是我的xml
  • Angular 2和纯javascript之间的通信

    我正在构建一个角度应用程序 并且我处于必须与外部 javascript 进行通信的情况 Scenario在应用程序初始化期间 我使用以下命令将两个 iframe 注入到 index html 中 document body appendCh
  • 如何将外部 .js 文件包含到 ejs Node 模板页面

    我找不到将外部 js 文件包含到 Node ejs 模板中的方法 我想将逻辑和数据放入外部 js 文件中的对象中 将该文件包含到 index ejs 模板并从中提取数据 我尝试通过插入标准方式 并且它不起作用 然后我尝试了 ejs 特定关键