一个项目中,可能存在若干重复的 html components,为了统一修改,我可能需要把它们提取出来,如
logo
如果有服务器环境,如nginx,可以通过配置SSI来解析;或者通过php等动态服务器端语言进行解析。
那么问题来了,如果我仅仅是想要把这个项目(静态)构建入前端demo库里,我如何把这些html components合并到引用它的各个页面里呢?grunt是否有相应的插件?谢谢!
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你可以使用一种模板语言,比如 handlebars,然后使用某个能够静态的在 grunt 任务里直接把模板编译成 html 的插件,比如 grunt-static-handlebars。
如果想让前端可以动态的载入模板,也推荐使用 handlebars,然后使用 grunt-browserify 和 hbsfy 这两个插件结合一段极度简单的客户端的 js 代码就能很优雅的解决这个问题。
客户端代码:
任何一种模板都应该很容易实现, 你也可以用一下f2e-server
任何一种模板语言都可以做到
直接用jade编译成html
可以试试jade的include
用gulp很容易做到,写个插件分分钟就搞定了。读取页面内容=>解析引用语句=>得到引用路径=>读取引用文件=>替换引用语句。
最后,我用的"grunt-contrib-concat": "~0.1.1"来进行文件的合并,这个不仅可以合并js还可以合并其他类型的文件。大家可以试试!