2

我从玉中调用这个 javascript 文件

-if ...

-else
  div#container
  script(type='text/javascript')
    jwplayer('container').setup({       

     file: '/path/to/file.m3u8',
     width: '0',
     height: '0'
    });

未捕获的类型错误:对象 # 没有方法“设置”

并且相同的 javascript 文件也在标头中。

4

1 回答 1

0

您需要将 pug 置于纯文本模式,并在 script 标签的末尾加上一个句点,否则它会尝试在其下渲染更多的 DOM 元素。Script 不是 pug 中的保留字,它只是像任何其他 HTML 元素一样呈现它,并且 pug 不知道接下来是 JavaScript(这是 IMO 的一件好事)

将句点添加到标签的末尾告诉 pug 它应该将标签中包含的所有内容呈现为纯文本。如果要在纯文本部分中使用 pug 变量,则需要使用插值

这将为您工作:

  script.
    jwplayer('container').setup({       

     file: '/path/to/file.m3u8',
     width: '0',
     height: '0'
    });

此外,您不再需要在脚本元素 ( details ) 上添加 type 属性。

于 2018-10-11T15:13:54.637 回答