recognition:9 GET http://localhost:3000/script.js net::ERR_ABORTED 404(未找到)

recognition:9 GET http://localhost:3000/script.js net::ERR_ABORTED 404 (Not Found)

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

<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 文件放在 public 文件夹中,将 ejs 文件放在视图中。其他一切都在外面。 Project Structure

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

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

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