【问题标题】:doctype declaration in JadeJade 中的 doctype 声明
【发布时间】:2016-02-11 12:18:05
【问题描述】:

我正在尝试在 Jade 中重新复制以下输出代码(包括回车),但没有成功:

尝试输出以下内容:

<?xml version="1.0"?>
<!DOCTYPE j:jelly 
[
  <!ENTITY aacute "&#x000E1;">
  <!ENTITY Aacute "&#x000C1;">
  <!ENTITY ordm "&#x000BA;">
  <!ENTITY euro "&#x020AC;">
  <!ENTITY amp  "&#x00026;">
  <!ENTITY iquest  "&#x000BF;">
  <!ENTITY iexcl  "&#x000A1;">
  <!ENTITY copy  "&#x000A9;">
]>

玉码我有:

<?xml version="1.0"?>
doctype j:jelly[<!ENTITY aacute "&#x000E1;"><!ENTITY Aacute "&#x000C1;"><!ENTITY eacute "&#x000E9;"><!ENTITY ordm "&#x000BA;"><!ENTITY euro "&#x020AC;"><!ENTITY amp  "&#x00026;"><!ENTITY iquest  "&#x000BF;"><!ENTITY iexcl  "&#x000A1;"><!ENTITY copy  "&#x000A9;"> ]

只输出一行(工作但混乱,没有回车):

<?xml version="1.0"?>
<!DOCTYPE j:jelly [<!ENTITY aacute "&#x000E1;"><!ENTITY Aacute "&#x000C1;"><!ENTITY ordm "&#x000BA;"><!ENTITY euro "&#x020AC;"><!ENTITY amp  "&#x00026;"><!ENTITY iquest  "&#x000BF;"><!ENTITY iexcl  "&#x000A1;"><!ENTITY copy  "&#x000A9;">]>

【问题讨论】:

    标签: node.js pug template-engine


    【解决方案1】:

    所以只需在原始文本中添加换行符:

    <?xml version="1.0"?> 
    | < doctype j:jelly
    | [
    |  <!ENTITY aacute "&#x000E1;">
    |  <!ENTITY Aacute "&#x000C1;">
    |  <!ENTITY eacute "&#x000E9;">
    |  <!ENTITY ordm "&#x000BA;">
    |  <!ENTITY euro "&#x020AC;">
    |  <!ENTITY amp  "&#x00026;">
    |  <!ENTITY iquest  "&#x000BF;">
    |  <!ENTITY iexcl  "&#x000A1;">
    |  <!ENTITY copy  "&#x000A9;">
    | ]>
    

    得到

    <?xml version="1.0"?> 
    < doctype j:jelly
    [
     <!ENTITY aacute "&#x000E1;">
     <!ENTITY Aacute "&#x000C1;">
     <!ENTITY eacute "&#x000E9;">
     <!ENTITY ordm "&#x000BA;">
     <!ENTITY euro "&#x020AC;">
     <!ENTITY amp  "&#x00026;">
     <!ENTITY iquest  "&#x000BF;">
     <!ENTITY iexcl  "&#x000A1;">
     <!ENTITY copy  "&#x000A9;">
    ]>
    

    因为这仅使用原始文本,您可以考虑使用 include 语句。

    start.jade

    include ./other.jade
    

    other.jade

    <?xml version="1.0"?> 
    < doctype j:jelly
    [
     <!ENTITY aacute "&#x000E1;">
     <!ENTITY Aacute "&#x000C1;">
     <!ENTITY eacute "&#x000E9;">
     <!ENTITY ordm "&#x000BA;">
     <!ENTITY euro "&#x020AC;">
     <!ENTITY amp  "&#x00026;">
     <!ENTITY iquest  "&#x000BF;">
     <!ENTITY iexcl  "&#x000A1;">
     <!ENTITY copy  "&#x000A9;">
    ]>
    

    你会得到

    /usr/lib/node_modules/jade/lib/runtime.js:240
      throw err;
            ^
    Error: other.jade:3
        1| <?xml version="1.0"?> 
        2| < doctype j:jelly
      > 3| [
        4|  <!ENTITY aacute "&#x000E1;">
        5|  <!ENTITY Aacute "&#x000C1;">
        6|  <!ENTITY eacute "&#x000E9;">
    
    unexpected text [
     <!
        at Object.Lexer.fail (/usr/lib/node_modules/jade/lib/lexer.js:887:11)
        at Object.Lexer.next (/usr/lib/node_modules/jade/lib/lexer.js:947:15)
        at Object.Lexer.lookahead (/usr/lib/node_modules/jade/lib/lexer.js:113:46)
        at Parser.lookahead (/usr/lib/node_modules/jade/lib/parser.js:102:23)
        at Parser.peek (/usr/lib/node_modules/jade/lib/parser.js:79:17)
        at Parser.parse (/usr/lib/node_modules/jade/lib/parser.js:117:26)
        at Parser.parseInclude (/usr/lib/node_modules/jade/lib/parser.js:616:22)
        at Parser.parseExpr (/usr/lib/node_modules/jade/lib/parser.js:223:21)
        at Parser.parse (/usr/lib/node_modules/jade/lib/parser.js:122:25)
        at parse (/usr/lib/node_modules/jade/lib/index.js:104:21)
    

    因为要包含的文件被解释为玉模板。重命名就好了。

    start.jade

    include ./other.inc
    

    other.inc

    <?xml version="1.0"?> 
    < doctype j:jelly
    [
     <!ENTITY aacute "&#x000E1;">
     <!ENTITY Aacute "&#x000C1;">
     <!ENTITY eacute "&#x000E9;">
     <!ENTITY ordm "&#x000BA;">
     <!ENTITY euro "&#x020AC;">
     <!ENTITY amp  "&#x00026;">
     <!ENTITY iquest  "&#x000BF;">
     <!ENTITY iexcl  "&#x000A1;">
     <!ENTITY copy  "&#x000A9;">
    ]>
    

    你会得到预期的

    <?xml version="1.0"?> 
    < doctype j:jelly
    [
     <!ENTITY aacute "&#x000E1;">
     <!ENTITY Aacute "&#x000C1;">
     <!ENTITY eacute "&#x000E9;">
     <!ENTITY ordm "&#x000BA;">
     <!ENTITY euro "&#x020AC;">
     <!ENTITY amp  "&#x00026;">
     <!ENTITY iquest  "&#x000BF;">
     <!ENTITY iexcl  "&#x000A1;">
     <!ENTITY copy  "&#x000A9;">
    ]>
    

    【讨论】:

    • 嗨,萨沙。不是真的工作。每当我输入管道时:|编译时出现错误(“意外文本”。我假设您必须在 | 之后放置一些文本)。另外,请注意我需要得到: 管(还没有结束标签) 不管(在你的示例标签中会提前关闭)
    • 最后一次编辑会解决问题 :) 非常感谢您的回答和时间 Sascha。这个问题也让我想到是否可以在同一标签中的属性之间插入翡翠 \n\r。有时在项目中,后端会动态地将许多数据属性输出到 DIV(即),并且为了便于阅读,可以提供新行以更好地直观地查看代码。示例:
    猜你喜欢
    • 2015-03-19
    • 2017-08-31
    • 2012-11-27
    • 1970-01-01
    • 2012-04-26
    • 2012-03-21
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    相关资源
    最近更新 更多