Java语言不会在我的Handlebars渲染网站中加载

问题描述 投票:0回答:1

因此,我有一个使用Handlebars渲染的网站,并使用Express,MongoDB和Mongoose进行了构建。该站点将渲染,并且我的数据库中的数据将被填充,但是我无法运行我的主要app.js文件。我已经将它放在公用文件夹中,该文件夹在服务器文件中作为静态位置提供,但是当它在“网络”选项卡中注册时,实际上并不会运行任何逻辑。我已经尝试了很多东西,并且零变化。

主脚本调用大部分位于我的模板文件中,但是我尝试了多种变体,所有变体都具有相同的结果。我已经阅读了有关把手等的多个文档,甚至在js文件加载正常的情况下,我还做了其他项目。我不知道缺少了什么,而且我有好几个人试图帮助我并感到沮丧。帮助堆栈溢出,您是我唯一的希望!

仅供参考,这是我的HBS布局页面和我的app.js文件。它位于public / assets文件夹中。我很茫然。

$(document).ready(function() {
    $(document).on("click", ".scrape-new", function(request, response) {
        console.log
        $.ajax({
            method: "GET",
            url: "/scrape"
        })
        .then(function(result) {
            response.send("data scraped");
            response.redirect("/");
        })
        .catch(function(error) {
            throw error;
        })
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
        integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
        crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
        integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
    <link rel="stylesheet" type="text/css" href="/assets/css/style.css">
    <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@900&display=swap" rel="stylesheet">
    <link rel="icon" type="image/svg" href="/assets/images/newspaper-solid.svg">
    <title>Onion Scraper</title>
</head>

<body>
    {{{body}}}
    <script src="/assets/app.js" type="javascript"></script>
</body>

</html>
javascript handlebars.js express-handlebars
1个回答
0
投票

好,所以另一个人找到了答案。这很奇怪。我有机会坐下来看看。如果您从脚本标签中删除“ type”属性,则一切正常加载。我以前见过,但我不知道是什么原因造成的。我将进行研究,看看是否能提供一些见解。 10:13哈哈!事实证明,如果在指定类型时为JavaScript文件提供了除javascript之外的任何其他类型的标头,则浏览器将无法加载它。 Express显然将JS文件加载为“脚本”类型,这意味着指定的类型(javascript)不匹配。旧代码:<script src="/assets/app.js" type="javascript"></script>对此:<script src="/assets/app.js"></script> That suddenly fixed it

© www.soinside.com 2019 - 2024. All rights reserved.