我刚刚开始使用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中实现了此功能。
答案 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 中的哈巴狗模板上的文件名目录。