【问题标题】:Cannot find route to 'js' within 'Public' folder...using'views'?在“公共”文件夹中找不到到“js”的路由...使用“视图”?
【发布时间】:2020-02-18 03:57:11
【问题描述】:

我的结构类似于以下:

--Public
 --js
  --main.js
--Views
 --Pages
  --about.ejs
 --Partials 
  --head.ejs
  --header.ejs
  --footer.ejs
--Server.js

在我的 HTML (.ejs) 页面 (about.ejs) 中,我有在定义为

的“公共”文件夹中使用“main.js”的路径
    ...
    <script src="/public/js/main.js"></script>
    ...

但是我的测试表明这是失败的。我只是尝试更改'main.js'中'about.ejs'页面上段落的'innerHTML'作为测试......因为没有任何反应,我假设HTML(.ejs)页面无法找到“公共”文件夹中的 javascript 文件。任何帮助都非常感激......这非常令人沮丧。

【问题讨论】:

    标签: javascript view ejs public


    【解决方案1】:

    我认为您使用的是 NodeJ。可能,您需要提供静态文件。

    Expressjs's serving static files

    【讨论】:

    • 是的,先生,这是正确的,我正在使用 Node.js。我已经根据提供的链接添加了 app.use(express.static('public'))" 但是我没有看到任何变化。我的 HTML (ejs) 页面中嵌入了另一个事件处理程序,用于同一个按钮......是它们可能相互干扰吗?似乎我只能在 HTML (ejs) 页面本身中嵌入 Javascript 以供使用,这显然是不可取的。是否有某个地方的教程链接指示如何将公用文件夹与 .ejs 文件一起使用?
    • 感谢您的回复。
    • 脚本调用是否可能需要位于称为“head.ejs”的“部分”.ejs 页面中...?因为这是在我的 HTML (ejs) 页面上调用的第一个部分页面...我已经有指向 .css 引导程序的链接...
    • 如果你放 app.use(express.static('Public')) ,src 必须像“/js/main.js”。
    • 我想我现在有了...我使用了“app.use("/public, express.static('public'))”并删除了一些可能导致问题的旧代码...我还在“src”中包含“public”。感谢您的帮助。
    【解决方案2】:

    根据您的项目结构,您的 Public 目录是在标题中

    试试:

    <script src="/Public/js/main.js"></script>
    

    【讨论】:

    • 不,先生,我只是在这里输入的...在我的脚本调用和实际文件夹名称中使用了小写的“public”。谢谢。
    猜你喜欢
    • 2023-03-22
    • 1970-01-01
    • 2021-05-23
    • 2014-08-13
    • 1970-01-01
    • 2014-12-22
    • 2016-09-02
    • 2013-03-28
    • 2020-10-24
    相关资源
    最近更新 更多