在使用带有node.js和express的ejs模板引擎时,是否可以添加没有.ejs结尾的文件?
我想将着色器放在单独的文件中,例如以.glsl结尾。我想要像这样包括它们:
<% include /shaders/example.vertex.glsl %>
如果我使用example.vertex.glsl.ejs它可以工作,但是着色器的语法高亮不再适用...
我实际上并没有受到ejs的约束。任何其他表达模板引擎,这将是有效的。我刚刚使用了ejs,因为我之前已经使用过它了。
答案 0 :(得分:1)
只要您告诉快递应使用什么引擎来处理app.engine(ext, callback)的扩展程序,就可以执行此操作。
在您的路线之前设置以下内容:
app.engine('glsl', require('ejs').renderFile);
然后,<% include /shaders/example.vertex.glsl %>
之类的内容就可以了。这些处理的方式与ejs文件的处理方式相同,因此,除了您所描述的包含工作外,您还可以在包含的glsl文件中放入内联<%=variableFromNode%>
类型的内容,它也会处理它。