js编译器/ 404标记未找到

Riot.js compiler / 404 tag not found

本文关键字:编译器 js      更新时间:2023-09-26

我试图将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') 

。我正试着在帕格模板中安装暴乱标签kaljasakot。但是,浏览器在页面渲染的控制台中给出404错误:

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

我对标记文件应该位于编译器找到它的位置有点困惑,而且我在谷歌上找不到任何提示。有人见过这个案子吗?

整个项目可以在这里找到Github链接,如果需要的话

标签文件不是在编译Pug模板时获取的,而是在应用运行时从浏览器中获取的。目前您还没有告诉Express在哪里可以找到标签文件。

要解决这个问题,您可以例如创建一个文件夹public/tags,移动标记文件在那里,并使用它们像script(type="riot/tag" src="tags/kaljasakot.tag")。Express将从那里找到文件,因为您已经将public文件夹配置为静态文件的源。

现在请求不再返回404,但是标记文件也不能正常工作。因为你在标签文件中使用了Pug,所以你需要在应用程序使用它们之前预编译它们。如果你放下枪。,你会看到一个错误Uncaught SyntaxError: Unexpected token =,因为Riot不理解Pug语法。

因此,您可能只想将标记文件保留在views文件夹中,并设置一个编译标记并将其移动到public/tags文件夹的构建步骤。参见Riot关于服务器编译和gulp-riot的文档。