我正在尝试将 JSON 对象从 pug 传递到客户端 JavaScript。下面是代码的结构。我渲染了一个 JSON 对象并将它从我的 Node-Express 后端传递给 Pug。代码如下:
server.js:
app.get('/myrooms', function(req, res) {
Room.find()
.where('_id')
.in(user.rooms)
.exec(function (err, records) {
res.render('rooms/index', {myrooms : records})
})
})
Run Code Online (Sandbox Code Playgroud)
之后这个对象在我的 pug 文件中可用。现在我想将它传递给客户端脚本。我在我的index.pug文件中做这样的事情。
index.pug:
script(src='/js/play.js').
trooms = "#{myrooms}"
Run Code Online (Sandbox Code Playgroud)
play.js:
console.log(trooms)
Run Code Online (Sandbox Code Playgroud)
它给了我“troom未定义”错误。我不知道如何传递这个对象。根据一些旧帖子,这是在玉石上工作的。但是,我使用的是 pug 版本2.0.0-rc.2。
我很难找到一个好的解决方案。问题是我想在导航项目上动态更新活动类,但是我不知道该怎么做。谁能为我提供一种自动为与当前页面相对应的导航项提供特定类别的解决方案?
这是我的layout.pug页面:
doctype html
html(lang =“ zh-cn”)
头
包括组件/头
正文(id =“ page-top” role =“ document”)
包括组件/标题
主要
主块
包括组件/页脚
这是我当前的header.pug文件所具有的内容:
导航
img.hamburger-menu(src =“ img / menu / menu-hamburger.svg” alt =“导航菜单”)
ul(class =“ reveal”)
里
a(href =“ index.html”)主页
里
a(href =“ about.html”)关于
里
a(href =“ services.html”)服务
里
a(href =“ contact.html”)联系人
然后,我有了index.pug和其他呈现的页面,它们的开始如下:
扩展../layout
主块
部分
h1个人专业
var array = ["one", "two", "three", "four", "five"];
var item = array[Math.floor(Math.random()*array.length)];
Run Code Online (Sandbox Code Playgroud)
上面的代码从数组中随机选择一个项目。但是,我怎么能让它一次从数组中选择 3 个随机元素,而不仅仅是一个。
而不是仅选择three例如,它应该类似于two five one.
我正在使用 gulp 将我的 pug 文件编译为 HTML。每次我做任何改变平均需要 30 秒!是否可能是由于我的 gulp 配置中的某些内容(如下所列)?
var gulp = require('gulp')
var pug = require('gulp-pug')
gulp.task('pug', function () {
return gulp.src('pug/**/*.pug')
.pipe(pug({pretty:true, doctype:'HTML'}))
.pipe(gulp.dest('views'))
})
gulp.task('watch:pug', ['pug'], function () {
gulp.watch('pug/**/*.pug', ['pug'])
})
Run Code Online (Sandbox Code Playgroud) 在Python中,True != True是False,False != True应该是True.但是,那么评估结果不应该是True吗?