我在MEAN堆栈上引用了以下很棒的教程。
现在我面临一个模板(JADE)相关问题,我无法解决:( 如果可能的话,你能看看并帮助我。
http://www.ibm.com/developerworks/library/wa-nodejs-polling-app/
doctype 5
html(lang='en')
head
meta(charset='utf-8')
meta(name='viewport', content='width=device-width,
initial-scale=1, user-scalable=no')
title= title
link(rel='stylesheet', href='//netdna.bootstrapcdn.com/bootstrap/3.0.1/
css/bootstrap.min.css')
link(rel='stylesheet', href='/stylesheets/style.css')
body
nav.navbar.navbar-inverse.navbar-fixed-top(role='navigation')
div.navbar-header
a.navbar-brand(href='#/polls')= title
div.container
div
我得到了这个例外。尝试了一些变种但尚未解决它。
Error: C:\DevEnv\UT3_Node\HelloWorldNodeProject\views\index.jade:14
12| a.navbar-brand(href='#/polls')= title
13| div.container
> 14| div
**link is self closing and should not have content.**
谢谢你。
答案 0 :(得分:8)
你的问题就在这一行:
link(rel='stylesheet', href='/stylesheets/style.css')
你在StackOverflow上看不到它,但你在标签后面有一堆空格。
此处显示的空格替换为_
:
link(rel='stylesheet', href='/stylesheets/style.css')________________
所以你的Jade会产生类似的东西:
<link rel="stylesheet" href="/stylesheets/style.css">________________</link>
是不允许的,因为<link>
元素不允许有子节点。
答案 1 :(得分:1)
a.navbar-brand(href='#/polls')= title
删除title
a.navbar-brand(href='#/polls')=title
答案 2 :(得分:0)
我对Practical Node.js文本中的一个示例遇到了同样的问题。根本原因是我的错误 - 在链接定义中使用双引号而不是单引号。挑战是消息(链接是自闭的,不应该有内容。)出现在div声明中,因此非常令人困惑。事实证明,错误发生在我的包含文件中而不是玉指示的位置。行号是正确的,但它显示错误的文件内容。一旦我弄明白了,修复很简单。
似乎是JADE编译器中的错误。