- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个正在构建的网络应用程序,它具有在客户端构建的动态小部件。目前我使用 nodejs 和 pug 作为我的服务器端模板库,我喜欢 pug 的简单性。
我想在服务器上有一系列小的 pug 文件,客户端可以将其用作构造 block 来构建用户所需的小部件。
我尝试使用此处找到的先前解决方案: client side server side templating nodejs
但是,对于我想要的,该解决方案看起来有点矫枉过正。而且,看起来 ezel 项目不再维护,它已经 2 年没有更新了,它仍然使用 jade(npm 给了我很多错误)。
我只想能够在浏览器中用 pug 构建我的动态小部件。这个页面似乎正是我想要的: https://pugjs.org/api/reference.html特别是 pug.renderFile('path/to/file.pug', options);功能似乎正是我想用来动态构建我的小部件的功能(用户拥有对如何构建/显示小部件的所有控制,因此浏览器需要动态构建 html View )
我的问题是依赖于: https://pugjs.org/js/pug.js并且需要在浏览器中执行 require('pug') 。我已经将 pug 安装为我的 package.json 的一部分。有没有更强大的方法直接获取 pug.js?我对 Web 开发还是个新手,我的背景是 C++/Java,所以我不确定直接在浏览器中使用 pug.js 是最好的解决方案还是有更好的标准解决方案。我发布的 stackoverflow 问题是我遇到的唯一一个远程相似的帖子。
最佳答案
我研究并测试了一个我真正喜欢的解决方案。 NPM 有一个很酷的包,叫做 pug-cli。
https://www.npmjs.com/package/pug-cli
我修改了我的 npm 启动脚本以执行以下操作:
pug -c -w --name-after-file -o public/js/views views/client/
这允许我做的是将我的客户 View 写入 views/client 文件夹中。一个任务在后台运行,监视 views/client/中的变化。更改后,它会将 views/client/文件夹中的 .pug 文件编译成 javascript,并将其保存到 public/js/views/中。然后在客户端代码中,您只需包含 Template.js 并在您的 js 中调用 Template(parameters)。客户端不需要 pug.js。这是带调试的,要关闭调试,用-D运行
例如,views/client/example.pug 将自动编译为 public/js/views/exampleTemplate.js然后,您在客户端中要做的就是包含此 js 文件,并调用 exampleTemplate(params) 来获取您的模板化字符串(您可以使用不同的参数任意调用它以获得不同的 View )。当服务器端的 View 未知时,这允许我从客户端任意/动态地组合和构造 View 。
我喜欢这种工作流程方法,但我愿意接受更好的建议。
关于javascript - 使用 nodejs 和 pug 的客户端模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43025557/
我在网上搜索但没有找到任何合适的文章解释如何使用 javascript 使用 WCF 服务,尤其是 WebScriptEndpoint。 任何人都可以对此给出任何指导吗? 谢谢 最佳答案 这是一篇关于
我正在编写一个将运行 Linux 命令的 C 程序,例如: cat/etc/passwd | grep 列表 |剪切-c 1-5 我没有任何结果 *这里 parent 等待第一个 child (chi
所以我正在尝试处理文件上传,然后将该文件作为二进制文件存储到数据库中。在我存储它之后,我尝试在给定的 URL 上提供文件。我似乎找不到适合这里的方法。我需要使用数据库,因为我使用 Google 应用引
我正在尝试制作一个宏,将下面的公式添加到单元格中,然后将其拖到整个列中并在 H 列中复制相同的公式 我想在 F 和 H 列中输入公式的数据 Range("F1").formula = "=IF(ISE
问题类似于this one ,但我想使用 OperatorPrecedenceParser 解析带有函数应用程序的表达式在 FParsec . 这是我的 AST: type Expression =
我想通过使用 sequelize 和 node.js 将这个查询更改为代码取决于在哪里 select COUNT(gender) as genderCount from customers where
我正在使用GNU bash,版本5.0.3(1)-发行版(x86_64-pc-linux-gnu),我想知道为什么简单的赋值语句会出现语法错误: #/bin/bash var1=/tmp
这里,为什么我的代码在 IE 中不起作用。我的代码适用于所有浏览器。没有问题。但是当我在 IE 上运行我的项目时,它发现错误。 而且我的 jquery 类和 insertadjacentHTMl 也不
我正在尝试更改标签的innerHTML。我无权访问该表单,因此无法编辑 HTML。标签具有的唯一标识符是“for”属性。 这是输入和标签的结构:
我有一个页面,我可以在其中返回用户帖子,可以使用一些 jquery 代码对这些帖子进行即时评论,在发布新评论后,我在帖子下插入新评论以及删除 按钮。问题是 Delete 按钮在新插入的元素上不起作用,
我有一个大约有 20 列的“管道分隔”文件。我只想使用 sha1sum 散列第一列,它是一个数字,如帐号,并按原样返回其余列。 使用 awk 或 sed 执行此操作的最佳方法是什么? Accounti
我需要将以下内容插入到我的表中...我的用户表有五列 id、用户名、密码、名称、条目。 (我还没有提交任何东西到条目中,我稍后会使用 php 来做)但由于某种原因我不断收到这个错误:#1054 - U
所以我试图有一个输入字段,我可以在其中输入任何字符,但然后将输入的值小写,删除任何非字母数字字符,留下“。”而不是空格。 例如,如果我输入: 地球的 70% 是水,-!*#$^^ & 30% 土地 输
我正在尝试做一些我认为非常简单的事情,但出于某种原因我没有得到想要的结果?我是 javascript 的新手,但对 java 有经验,所以我相信我没有使用某种正确的规则。 这是一个获取输入值、检查选择
我想使用 angularjs 从 mysql 数据库加载数据。 这就是应用程序的工作原理;用户登录,他们的用户名存储在 cookie 中。该用户名显示在主页上 我想获取这个值并通过 angularjs
我正在使用 autoLayout,我想在 UITableViewCell 上放置一个 UIlabel,它应该始终位于单元格的右侧和右侧的中心。 这就是我想要实现的目标 所以在这里你可以看到我正在谈论的
我需要与 MySql 等效的 elasticsearch 查询。我的 sql 查询: SELECT DISTINCT t.product_id AS id FROM tbl_sup_price t
我正在实现代码以使用 JSON。 func setup() { if let flickrURL = NSURL(string: "https://api.flickr.com/
我尝试使用for循环声明变量,然后测试cols和rols是否相同。如果是,它将运行递归函数。但是,我在 javascript 中执行 do 时遇到问题。有人可以帮忙吗? 现在,在比较 col.1 和
我举了一个我正在处理的问题的简短示例。 HTML代码: 1 2 3 CSS 代码: .BB a:hover{ color: #000; } .BB > li:after {
我是一名优秀的程序员,十分优秀!