我找不到将外部.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" />
Run Code Online (Sandbox Code Playgroud)
解决方法是将外部ejs文件包括在其中,我会将逻辑和数据放在<%%>标记内,但这显然是一个补丁程序,而不是可行的解决方案,因为ejs不是js文件。此外,它不起作用。
我在Internet上找不到任何解决方案。有什么提示吗?
谢谢
Bha*_*san 10
你不能。
注意:您只能将数据从 .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>
Run Code Online (Sandbox Code Playgroud)
2) 不能将 js 变量值传递给 ejs 变量
是的,你不能:如果它在服务器上。
为什么:
EJS 模板将在 js 开始执行之前呈现在服务器上(它将在浏览器上启动),因此无法返回服务器并要求已发送到浏览器的页面上的一些先前更改。
| 归档时间: |
|
| 查看次数: |
5000 次 |
| 最近记录: |