簡體   English   中英

找不到Riot.js編譯器/ 404標記

[英]Riot.js compiler / 404 tag not found

我試圖將riot.js標記包含到我的項目中,以便可以重用組件。 該應用程序在Node + Express上運行,並使用Pug進行模板化。

我有一條呈現以下頁面的路由:

include includes/header.pug
link(rel="stylesheet" href="/styles/kaljasakot.css" type="text/css")
body(id='bootstrap-override')
    div(class='container-fluid')
        div(class='header')
            img(class='okklogo' src='img/okkimg.jpeg' height='80' width='130')
            h1 Kaljasakot
    kaljasakot
    script(type="riot/tag" src="kaljasakot.tag")
    script(src="https://cdn.jsdelivr.net/riot/2.6/riot+compiler.min.js")
    script riot.mount('kaljasakot')
    include includes/footer.pug
    script(src='/js/kaljasakot.js') 

即,我正在嘗試在Pug模板中安裝防暴標簽kaljasakot 但是,瀏覽器在頁面渲染的控制台中給出了404錯誤:

GET http:// localhost:3001 / kaljasakot.tag 404(未找到)riot + compiler.min.js:2

我對標記文件應位於何處感到困惑,編譯器可以找到它,而Google對此沒有任何提示。 有人遇到過這種情況嗎?

如果需要,可以在Github鏈接中找到整個項目。

編譯Pug模板時不會獲取標記文件,而在應用程序運行時會從瀏覽器獲取。 目前您還沒有告訴Express在哪里可以找到標記文件。

要解決此問題,您可以例如創建一個文件夾public/tags ,在其中移動標記文件,並像script(type="riot/tag" src="tags/kaljasakot.tag")一樣使用它們。 快遞會從那里找到的文件,因為你已經配置了public文件夾的靜態文件的來源。

現在請求不再提供404,但是標記文件也無法正常工作。 由於您在標記文件中使用Pug,因此需要先對其進行預編譯,然后應用才能使用它們。 如果按照上述建議將kaljasakot.tag放到公用文件夾中,則會看到錯誤Uncaught SyntaxError: Unexpected token =因為Riot不了解Pug語法。

因此,您可能只想將標記文件保留在views文件夾中,並設置一個構建步驟,在該步驟中編譯標記並將它們移至public/tags文件夾。 例如,請參閱Riot關於服務器編譯gulp-riot 的文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM