无法找到呈现动态网页和我的javascript文件

无法找到呈现动态网页和我的javascript文件,javascript,node.js,express,Javascript,Node.js,Express,我在导航栏中链接到一个动态网页,如下所示 <li class="<%= title == 'Cryptofolio' ? 'navbar-item active' : 'navbar-item' %>"> <a class="nav-link" href="/cryptofolio/<%- locals.user.username %> ">Cryptofolio</a>

我在导航栏中链接到一个动态网页,如下所示

<li class="<%= title == 'Cryptofolio' ? 'navbar-item active' : 'navbar-item' %>">
  <a class="nav-link" href="/cryptofolio/<%- locals.user.username %> ">Cryptofolio</a>
</li>
页面重定向很好,但是没有加载我的javascript文件,在chrome中检查控制台会发现这些错误

GET http://localhost:3000/cryptofolio/javascripts/index.js net::ERR_ABORTED 404 (Not Found)
GET http://localhost:3000/cryptofolio/javascripts/favorites.js 404 (Not Found)
我有一个包含所有脚本的组件文件

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<link rel="stylesheet" type="text/css"
    href="https://cdn.datatables.net/v/bs4/dt-1.10.21/b-1.6.3/r-2.2.5/datatables.min.css" />
<script type="text/javascript" src="https://cdn.datatables.net/v/bs4/dt-1.10.21/b-1.6.3/r-2.2.5/datatables.min.js">
</script>
<script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script>
<script src="javascripts/index.js"></script>
<script src="javascripts/favorites.js"></script>

然后,我将所述脚本包括在我的HTML文件中

<% include components/scripts.ejs %>

我是否在包含或路由方面做错了什么?我想不出这一点

希望这能有所帮助
您需要将以下代码添加到app.js(app.json启动脚本中的applications main entry point.defines)

app.use(express.static(uu dirname+'/javascripts')
这将把“localhost:PORT”文件夹设置为./javascripts


然后在ejs中,只需将脚本导入为

嘿,没有将其添加到我的示例中,但我将其用于我的路径
app.use(express.static(path.join(u dirname,'public'))按你的方式做给了我一个
未可知的语法错误:意外的标记“这对我有用。”。但是你为什么要在这里加公共的?我可以知道吗?而您得到的错误,是在您放入这行代码后收到的吗?请尝试删除path.join方法,而不是使用您放置javascripts的文件夹的名称。此外,在ejs中导入脚本时,请仅使用脚本名称。例如u_dirname将为您提供工作文件的当前目录。由于app.js位于根文件夹中,因此只需给出放置javascripts的目录名。如果您的javascripts放在公共文件夹中,请在公共字符串('/public')之前添加/嘿,这解决了问题。非常感谢。