【问题标题】:recognition:9 GET http://localhost:3000/script.js net::ERR_ABORTED 404 (Not Found)识别:9 GET http://localhost:3000/script.js net::ERR_ABORTED 404(未找到)
【发布时间】:2023-03-12 23:35:01
【问题描述】:

我是 Web 开发的新手,我是使用 node js 和 ejs 制作应用程序的新手。我依靠 app get 和 app post 在我的 server.js 上做所有事情 我需要将一个单独的 javascript 程序与节点应用程序合并。为此,我创建了一个新的 ejs 文件并在标签中链接了 javascript 文件,但我不断收到上述错误。我环顾四周寻找类似的问题,但没有一个解决方案能帮助我解决这个错误。 任何帮助表示赞赏!谢谢!

<head>
<script defer src="/public/face-api.min.js"></script>
<script defer src="/public/script.js"></script>
</head>

这是查看ejs的代码:

  app.use(express.static('public'));
  app.set('views', path.join(__dirname,'views'));
  app.set('view engine','ejs');
  app.use(express.urlencoded({ extended: false }))
  app.use(flash())

我正在我的 server.js 中渲染 ejs 页面:

app.get('/recognition', (req, res) => {
res.render('recognition')

 })

终端没有错误。我在浏览器控制台中收到此错误,如图所示-Errors 这是我的代码的结构。我已将我的 JS 文件放在公共文件夹中,并将 ejs 文件放在视图中。其他一切都在外面。 Project Structure

【问题讨论】:

标签: javascript html node.js server ejs


【解决方案1】:

您必须通过您的快递应用为script.js 提供服务。

在您的服务器代码中包含app.use(express.static('public'));

了解更多信息:https://expressjs.com/de/starter/static-files.html

【讨论】:

  • 感谢您的回复。我尝试将其添加到 server.js 但没有任何区别:C 我已经编辑了我的问题并附上了我的项目结构的图片。也许我的结构有问题?再次感谢,非常感谢!
  • @user12506953 请阅读本文并更新您的问题:stackoverflow.com/help/minimal-reproducible-example
  • 错误信息从何而来?浏览器,终端?
  • 我在终端中没有收到任何错误。当我在浏览器中打开控制台时,我可以看到 js 文件没有加载。我再次编辑了我的问题并添加了相关图片。谢谢。
  • 为什么浏览器会尝试从example.com/public/... 加载文件?删除前端中的“公共”路径或将服务器代码 app.use(express.static('public')); 更改为 app.use('public', express.static('public'));
猜你喜欢
  • 2019-07-24
  • 1970-01-01
  • 2019-12-11
  • 2020-07-10
  • 2020-04-13
  • 1970-01-01
  • 1970-01-01
  • 2021-09-15
  • 2021-07-13
相关资源
最近更新 更多