我从jade调用这个javascript文件
-if ...
-else
div#container
script(type='text/javascript')
jwplayer('container').setup({
file: '/path/to/file.m3u8',
width: '0',
height: '0'
});
未捕获的TypeError:对象#没有方法'setup'
并且标题中也包含相同的javascript文件。
答案 0 :(得分:0)
您需要将pug置于纯文本模式,并在script标记的末尾加上句点,否则它将尝试在其下呈现更多DOM元素。脚本不是pug中的保留词,它只是像其他任何HTML元素一样呈现它,并且pug不知道其后是JavaScript(这是IMO的好东西)
在标记的末尾添加句点表示pug应该将标记中包含的所有内容呈现为纯文本。如果要在纯文本部分中使用pug变量,则需要使用interpolation。
这将为您工作:
script.
jwplayer('container').setup({
file: '/path/to/file.m3u8',
width: '0',
height: '0'
});
此外,您无需在脚本元素(details)上再添加type属性。