如何使用Jade生成纯JavaScript文件

How to generate a pure JavaScript file with Jade

本文关键字:JavaScript 文件 何使用 Jade      更新时间:2023-09-26

我知道Jade是用来制作HTML而不是JavaScript的,但是对于我正在工作的项目来说,如果我能在不添加每行管道的情况下做到这一点,那就太好了,并且可以节省大量时间:

|   (function(){
|       //Some JavaScript Code
|       var foo="#{bar}";
|       console.log("This a JavaScript file generated with Jade");
|   })()

这个想法是使用此模板的输出作为常规JavaScript包含的源代码,如下所示:

<script type="application/javascript" src="foo.generated.js"></script>

所以做这样的事情:

script(type="application/javascript").
    (function(){
        //Some JavaScript Code
        var foo="#{bar}";
        console.log("This a JavaScript file generated with Jade");
    })()

不会解决我的问题,因为我需要输出没有 DOM 容器元素的纯 JavaScript。

有没有另一种方法可以在不向每条线路添加管道的情况下做到这一点?或者我必须假设Jade的设计只产生HTML,放弃,在没有Jade的情况下找到其他解决方案?

提前感谢!

生成所有 XML,包括 HTML。Jade并不是为了铸造大块的javascript而设计的。你能做的最好的事情是创建一个方法来获取这些大块,并修改变量。就像它在示例中所做的那样。

我认为你应该使用:

res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Content-Type', 'text/javascript; charset=utf-8');
res.end(`(function(){
    //Some JavaScript Code
    var foo="${bar}";
    console.log("This a JavaScript file generated with Jade");
})()`);