在Jade中编写普通HTML

3

我以为在Jade文件中可以直接写纯HTML作为输入,但是尝试后出现了错误。

对于这个HTML:

div(ng-controller="TestController")

h1 Services list

ul(ng-model="test")
    li(ng-repeat="item in items")
        a
            | {{ item.name }}

div(ui-view)

我收到了以下错误信息。
Running "watch" task
Waiting...
>> File "app/frontend/views/home.jade" changed.

Running "jade:compile" (jade) task
>> Error: app/frontend/views/home.jade:2
>>     1| <b>hello </b> test
>>   > 2|  <ul ng-model="test">
>> 
>> unexpected token "indent"
Warning: Jade failed to compile "app/frontend/views/home.jade".
>> Destination not written because compiled files were empty.
>> 5 files created.

Running "watch" task
Waiting...

你能展示更多的代码吗?我想看看那个文件的头部(即 !!! 标记处)。 - daZza
只有文本内容需要翻译,没有更多的代码。我只是尝试在jade文件中用HTML编写。 - user567
你的意思是说这就是你的home.jade文件中的所有代码?如果是这样,我们找到了错误的原因;-) - daZza
在jade中它运行良好。我正在使用yeoman和angularjs。视图由根加载...我不必打开html body... - user567
2个回答

0

显然,通过以管道符号 | 开始,这应该可以工作。

| Plain text can include <strong>html</strong>
p
    | It must always be on its own line

jade-lang.com/reference/plain-text


输出纯文本应该像这样:

pre
    <div>Stuff</div>

我不能只是放入常规的HTML标签,然后输出它们吗? - user567
你的意思是想将代码作为纯文本输出吗?尝试使用 pre 标签。 - AlexG

0

不要只是将普通的HTML代码写入.jade文件中,您需要使用Jade语法来编写HTML文件:

 doctype html
 html(lang="en")
   head
    title= pageTitle
    script(type='text/javascript').
      if (foo) {
         bar(1 + 5)
      }
  body
    h1 Jade - node template engine
    #container.col
      if youAreUsingJade
        p You are amazing
      else
         p Get on it!
       p.
         Jade is a terse and simple
         templating language with a
         strong focus on performance
         and powerful features.

编辑:

在Jade中使用普通的HTML标签,你基本上有两种可能性:

p 普通文本可以包含<strong>html</strong>

或者 | 普通文本可以包含<strong>html</strong> p | 它必须始终位于自己的一行

您可以在此处查看更多详细信息:http://jade-lang.com/reference/plain-text/


但是我想写纯HTML,我不想使用jade语法。那么这不可能吗? - user567
你可以查看我的编辑或AlexG的答案。但是,你仍然需要使用适当的文件头,否则Jade无法正确解释这些内容。 - daZza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接