script.
let thisfilefullname = document.URL.substring(document.URL.lastIndexOf('/') + 1, document.URL.lastIndexOf('.'));
let imgurl = './img';
if(thisfilefullname.indexOf('localhost') == -1 && thisfilefullname != 'index') { imgurl = '../img'; } //'localhost' will be changed
h1.head_logo
a(href="/", title="홈으로 이동")
img(src= imgurl+"/logo.png", alt="description") //imgurl : undfined
有没有办法将一些变量内联到 pug 中? 我应该使用“document.getElementById(...)”吗?
Pug 在将任何代码发送到浏览器之前先编译服务器端。 Pug 属性插值(换句话说,像
src= imgurl
这样的东西)是作为编译过程的一部分进行评估的。
相比之下,您在
script
标签内编写的 JavaScript 在浏览器中运行客户端,after Pug 已完全编译。 Pug 无法访问客户端 JavaScript 中定义的变量,也无法访问 document
,因为它还不存在。
简而言之,您当前的代码尝试使用服务器上的变量,这些变量直到编译完成之后才定义,并且 Pug 不再是图片的一部分。