繁体   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