如何在Express应用程序中使用带有EJS模板引擎的jQuery

时间:2017-08-30 07:03:04

标签: jquery node.js express requirejs ejs

我正在使用ExpressJS进行Web开发,使用EJS作为模板引擎。 我想知道是否有任何方便的方法要求jQuery在我的EJS模板上工作。 我可以在其中一个部分,即footer.ejs中添加一个脚本标记,并将其包含在任何地方,但这会导致jQuery在所有模块中加载(我只在少数时候使用jQuery,如果需要的话)。 那么,有没有什么方法可以在特定模块中仅需要jQuery而不是将其添加为公共文件。

我阅读了shim包含在特定模块here中的方式,但是我非常了解它如何应用于我的设置(使用ejs模板表达应用程序)。

非常感谢任何有关如何实现这一目标的合理说明。

非常感谢。

footer.ejs
//This image shows my footer partial which has jQuery as common inclusion.

[This image shows my footer partial which has jQuery as common inclusion.

form.js
//This is my script file which has jQuery as dependency

[This is my script file which has jQuery as dependency ]

form.ejs
//This is how the form-validation script is being included in form template

This is how the form-validation script is being included in form template

1 个答案:

答案 0 :(得分:0)

首先,您必须首先启用extractScripts

app.set("layout extractScripts", true);

然后,在布局中使用<%- script %>来注入视图中的所有脚本

<html>
    <head>...</head>
    <body>
        <script src="/path/to/jquery"></script>
        <script src="/path/to/other/lib"></script>
        ...

        <%- script %>
    </body>

</html>