代码之家  ›  专栏  ›  技术社区  ›  user2371684

哈巴狗用于包裹

  •  0
  • user2371684  · 技术社区  · 5 年前

    刚开始用包裹和哈巴狗。我在如何使用pug中的链接到不同的pug文件时遇到了问题。

    我的src目录中有两个pug文件,索引哈巴狗以及特拉加德哈巴狗. 我还有一个nav include,它被两个提到的pug文件使用。

    nav#nav.flex-nav
        ul
          li
            a(href='/') Hem
          li
            a(href='#') VÃ¥r story
          li
            a(href='/tradgard') Trädgården
          li
            a(href='#') Matsal
          li
            a(href='#') Matevent
          li
            a(href='#') Album
          li
            a(href='#booking') Boka bord
          li
            a(href='#') Shop
    

    这将生成以下html:

    <nav class="flex-nav" id="nav">
        <ul>
          <li><a href="/">Hem</a></li>
          <li><a href="#">VÃ¥r story</a></li>
          <li><a href="/tradgard">Trädgården</a></li>
          <li><a href="#">Matsal</a></li>
          <li><a href="#">Matevent</a></li>
          <li><a href="#">Album</a></li>
          <li><a href="#booking">Boka bord</a></li>
          <li><a href="#">Shop</a></li>
        </ul>
    </nav>
    

    li
      a(href='/tradgard') Trädgården
    

    翻译成:

    <li><a href="/tradgard">Trädgården</a></li>
    

    如果我将nav include更改为:

    li
      a(href='/tradgard.pug') Trädgården
    

    生成以下html:

    <li><a href="/tradgard.pug">Trädgården</a></li>
    

    tradgard,它确实在浏览器中正确显示,网址如下,

    http://localhost:1234/tradgard.html

    我检查了索引页的属性检查器,css链接不见了,但是对于tradgard页,css链接在页眉中。

    为什么我会有这种奇怪的行为,我怀疑我对nav include链接的编码是错误的,因为我得到了很多错误:

    “无法从CSSStyleSheet读取'cssRules'属性”

    在属性检查器中。

    这是我的包.json文件:

    {
      "name": "parcel_pug_test",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "dev": "parcel serve src/index.pug",
        "prod": "parcel build src/*.pug -d public --public-url ./"
      },
      "keywords": [],
      "license": "MIT",
      "devDependencies": {
        "parcel-bundler": "1.12.0",
        "pug": "2.0.3",
        "sass": "1.17.2"
      }
    }
    

    0 回复  |  直到 5 年前
        1
  •  0
  •   Leftium    5 年前

    a(href='/tradgard.pug')

    • 地块生成器需要知道文件扩展名,以便知道如何处理它。
    • Parcel builder似乎不处理以文件名结尾的URL(例如查找匹配的文件/目录)。

    /tradgard 在索引哈巴狗:

    1. 运行地块时,指定多个入口点,每个入口点一个索引哈巴狗. 您可能可以使用这样的通配符: parcel src/index.html src/**/index.html
    2. parcel dev服务器仍然无法为预期的页面提供服务,但是您可以使用一个替代的dev服务器,比如 Browsersync