将pug模板编译为单个客户端js文件

时间:2018-08-28 23:05:11

标签: javascript pug

我刚刚开始使用pug,正在将其用于小型单页应用程序。我正在使用已编译为javascript函数的模板,这些模板将在SPA中用于呈现HTML。使用pug-cli,我能够生成多个.js文件,每个文件都包含所需的模板功能。但是,我不想编译多个javascript文件,而是将所有功能合并到一个简单的“ template.js”文件中,然后可以从客户端应用程序调用该文件。这是我当前正在使用的命令

pug -c --name-after-file -w .\views\ -o .\public\

我已经对其进行了谷歌搜索,在Stackoverflow上进行了搜索,还发现pug API本身具有pug.compileFileClient,这可能是为Express应用程序执行的。但是,我找不到是否在pug-cli中实现了此功能。

1 个答案:

答案 0 :(得分:0)

有一个名为puglatizer的npm程序包,该程序包包含一个哈巴狗模板目录,并将其编译为单个.js文件,该文件可以包含在html文件中,并且可以调用各个渲染函数来生成html。 / p>

它既可以在命令行中使用CLI使用,也可以通过在构建过程中以编程方式调用的require can导入。

我最终使用了CLI版本。只需使用以下命令在全局范围内安装软件包:

npm install puglatizer -g

然后运行puglatizer -d path/to/templates -o /path/to/output/templates.js

这会将 path / to / templates 文件夹中的所有模板编译为 / path / to / output templates.js 文件>。

通过脚本标记将生成的文件包括在html页面中。

然后,您可以通过调用puglatizer.TemplateFileName({data:"myData"})来调用Javascript模板,其中 TemplateFileName path / to / templates 中的哈巴狗模板上的文件名目录。