我一直在GitHub上的例子中搜索,但我找不到如何将简单的css文件加载到我的布局中.我的第一个想法是做这样的事情,link(href="my.css")但它似乎根本不起作用.href指向正确的在线位置(检查和工作),因此也许我忘了什么?
我正在玩Node和Express,我正在使用Pug(以前的Jade)模板引擎来渲染我的html.一切都工作正常,直到我开始尝试将变量注入href我的锚链接.奇怪的是,如果我改变我的Express应用程序view engine,jade那么事情就会按预期开始工作.
根据我读过的其他文章,这个问题似乎是一个插值问题,但我似乎无法找到显示如何正确解决此问题的资源或文档.
防爆.
我从roomsjson数组中提取数据,然后使用for循环遍历每个数组元素并输出每个房间的数据.使用jade以下作品.
table.table.table-striped
thead
tr
th Name
th Id
tbody
each room in rooms
tr
td(style="width: 50px;")
a(href!="/admin/rooms/delete/#{room.id}") Delete
td #{allTitleCase(room.name)}
td #{room.id}
Run Code Online (Sandbox Code Playgroud)
使用pug上述方法无法正常工作.特别是a(href='/admin/rooms/delete/#{room.id}') Delete链接无法正常工作.它不是将房间id注入到链接href中,而是输出#{room.id}作为href链接的结尾部分.
任何想法如何解决这个问题pug?
请注意,我已尝试使用以下所有pug选项,但这些选项均无效.
a(href="/admin/rooms/delete/#{room.id}") Deletea(href!="/admin/rooms/delete/#{room.id}") Delete这是我的index.js文件:
const express = require('express')
const app = express()
app.set('views', __dirname + '/views');
app.set('view engine', 'pug')
app.get('/', function (req, res) {
res.render('index', { title: 'Hey', message: 'Hello there!' })
})
app.listen(3333, function () {
console.log('Example app listening on port 3333!')
})
Run Code Online (Sandbox Code Playgroud)
index.pug文件:
html
head
title= title
body
h1= Hello
Run Code Online (Sandbox Code Playgroud)
package.json文件:
{
"name": "@npm-private/pug_with_node",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": …Run Code Online (Sandbox Code Playgroud) 我正在使用帕格,我想将一个变量传递给前端以获取信息,但是当我尝试这样做时,它会像文本一样传递.
这就是我这样做的方式.
控制器代码:
res.render('view/edit', {
title: 'Title',
sub:true,
data: variableObject
});
Run Code Online (Sandbox Code Playgroud)
这是渲染视图中的代码:
script(type='text/javascript').
var x = "#{data}"
console.log(x);
Run Code Online (Sandbox Code Playgroud)
这是日志的结果
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Run Code Online (Sandbox Code Playgroud)
我无法访问该对象因为是文本,有没有办法像对象一样传递对象?
我怎样才能在掌上电脑中调试来自后端的数据?
例如,这是我在expressjs中的后端:
res.render("streams/show", {
stream: cleanStream
});
Run Code Online (Sandbox Code Playgroud)
在show.pug中,我想检查来自steam的数据:
- var species = stream.species;
- var fields = [];
- for (var key in species) fields.push(key)
- console.log(fields)
Run Code Online (Sandbox Code Playgroud)
我在Chrome上的Developer Tool上看不到任何内容.
有任何想法吗?
我目前正在开发一个节点表达postgresql应用程序,并且正在尝试实现Jsonwebtokens作为身份验证。我已经看过多个有关如何实现它的教程,并且在后端部分得到了实现的方法,但是通常会跳过前端,显然每个人都在用Postman测试他们的代码。
我还在线阅读了实现jwt身份验证的推荐方法是将生成的令牌存储在localstorage中,并在需要时将其发送到标头中。但是我无法找到完成的方法...
因此,我的问题是:
输入:
.a text1
.b text2
Run Code Online (Sandbox Code Playgroud)
输出将是:
<div class="a">text1</div><div class="b">text2</div>
第二个<div>接近第一个,没有任何空格或 LF。
然而,这是我真正想要得到的:
<div class="a">text1</div>
<div class="b">text2</div>
Run Code Online (Sandbox Code Playgroud)
或者:
<div class="a">text1</div> <div class="b">text2</div>
Run Code Online (Sandbox Code Playgroud)
因为我在使用时需要在它们之间留一个空格display:inline-block。我不想在 CSS 中设置边距。
有没有可能让玉不吃我的空间或LF?
谢谢,
我正在开发 nodejs 应用程序,但我在使用 include 语句时遇到了问题。当我像这样使用它时它会起作用:
include ../mixins/root.pug
Run Code Online (Sandbox Code Playgroud)
...但是可以在include上使用变量吗?
这些都不起作用:
include #{process.env.MIXINS_PATH}/root.pug
include !{process.env.MIXINS_PATH}/root.pug
include `${process.env.MIXINS_PATH}/root.pug`
Run Code Online (Sandbox Code Playgroud)
结果是这样的:
Error: ENOENT: no such file or directory
Run Code Online (Sandbox Code Playgroud) 我试图在AngularJS应用程序的视图中创建一个链接,只是为了发送数据方法DELETE.
我的路线:
app.delete('/logout', function(req, res) {
req.session = null
res.status(200)
res.redirect('/')
})
Run Code Online (Sandbox Code Playgroud)
我的PugJS模板:
a(ng-href='/logout', data-method='delete', data-confirm='Are you sure?', rel='nofollow')
span(translate) Logout
Run Code Online (Sandbox Code Playgroud)
生成的HTML:
<a ng-href="/logout" data-method="delete" data-confirm="Are you sure?" rel="nofollow" class="" href="/logout">
<span translate="translate" class="ng-scope">
<span class="ng-scope">Logout</span>
</span>
</a>
Run Code Online (Sandbox Code Playgroud)
但是,当我按照链接时,我收到以下消息:
Cannot GET /logout
Run Code Online (Sandbox Code Playgroud)
我认为数据方法不起作用.有人知道发生了什么吗?
谢谢你.
这可能是一个非常愚蠢的问题,但我找不到任何让它工作的选择.
在最近将npm软件包名称从jade更改为pug后,我已经将我项目中的所有.jade文件更改为.pug - 正如软件包所要求的那样.
这引起了一个琐碎的问题 - 在.pug文件中没有突出显示jade语法.更重要的是,我找不到在VS15中为.pug扩展文件添加玉编辑经验的选项.
有人知道如何使它工作?