来自html文件的Clojurescript模板

来自html文件的Clojurescript模板,第1张

概述我是clojure / clojurescript的新手所以可能有一个简单的解决方案,我可以忽略,但这是我的问题: 我有现有的html文件(只是原始的html,没有变量或任何东西)我想用作clojurescript项目的部分(这些html文件是导航,页脚等).我想在clojurescript项目中要求这些html模板,然后在编译的js中内联模板,这样我就不必对生产中的模板进行任何ajax调用或者通 我是clojure / clojurescript的新手所以可能有一个简单的解决方案,我可以忽略,但这是我的问题:

我有现有的HTML文件(只是原始的HTML,没有变量或任何东西)我想用作clojurescript项目的部分(这些HTML文件是导航,页脚等).我想在clojurescript项目中要求这些HTML模板,然后在编译的Js中内联模板,这样我就不必对生产中的模板进行任何AJAX调用或者通过HTML文件进行复制以使其可用于生产中的客户.像requireJs和browserify这样的项目有插件让你只需要’HTML文件 – 是否有一个与clojurescript相同的东西?

我知道要进行模板/ dom *** 作的库,所以这不是问题.它只是将多个外部HTML文件转换为内联字符串/ dom节点/生产Js中包含的内容.

谢谢

解决方法@H_301_17@ 您可以使用在编译时执行的宏来执行此 *** 作.

project.clj

:dependencIEs [[org.clojure/clojure "1.6.0"]                 [org.clojure/clojurescript "0.0-2202"]]  :source-paths ["src"]  :clJsbuild  {:builds   [{:ID "main"     :source-paths ["src/clJs"]     :compiler     {      :output-to "resources/main.Js"      :optimizations :whitespace      :pretty-print true}}]})

SRC / cljstemplates / core.clj

(ns cljstemplates.core  (:require [clojure.java.io :refer (resource)]))(defmacro deftmpl  "Read template from file in resources/"  [symbol-name HTML-name]  (let [content (slurp (resource HTML-name))]    `(def ~symbol-name       ~content)))

SRC / clJs / web.clJs

(ns cljstemplates.web  (:require-macros [cljstemplates.core :refer [deftmpl]]))(deftmpl head "header.HTML")(deftmpl nav "nav.HTML")(deftmpl foot "footer.HTML")

这将生成包含从资源/文件夹中的文件读取的字符串的vars head,nav,foot.

资源/ nav.HTML

<nav>  <ul>    <li>Tweets</li>  </ul></nav>

输出(main.Js):

cljstemplates.web.nav = "\x3cnav\x3e\n  \x3cul\x3e\n    \x3cli\x3eTweets\x3c/li\x3e\n  \x3c/ul\x3e\n\x3c/nav\x3e\n";
总结

以上是内存溢出为你收集整理的来自html文件的Clojurescript模板全部内容,希望文章能够帮你解决来自html文件的Clojurescript模板所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1043686.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存