当前位置: 首页 > 知识库问答 >
问题:

在节点js express中运行客户端js文件时出现的问题

侯善
2023-03-14

我在node js Express中面临一个问题[因为我是node js的新手]。我的用例是我有三个目录[根目录、路由、html文件]。在根目录中,我有一个包含端口信息的index.js文件,在routes目录中,有一个用于提及API的所有路由的route文件。在html文件中,我有静态html文件+client.js文件。当我转到/api/getlist路由时,我正在发送一个html文件。在该html文件中,当单击一个按钮时,我试图运行一个client.js文件来进行一些验证。但是console显示

GetList:30GET http://localhost:5000/api/client.js net::err_aborted 404(找不到)

index.js

const express = require('express')
> const dotenv = require("dotenv").config(); 
>const port =require('debug')('log:port') 
>const get =require('debug')('log:getroute') 
>const routes = require('./routes/routes') 
>const app = express() 
>const bodyParser =require('body-parser')
> 
> 
> // app.use(express.static('/Users/gowthamkishore/Desktop/folder/node
> js/project'))
> 
> 
> app.use('/api',routes) app.use(express.static('htmlfiles'))
> app.use(bodyParser.urlencoded({ extended: false }))
> app.use(bodyParser.json()); 
> 
> 
> app.listen(process.env.PORT,(req,res)=>{   
> port(process.env.PORT,'Port information') })

 routes.js

>  const express = require('express') 
>const router = express.Router() 
>const path = require('path') 
>const bodyParser = require('body-parser')
> const fs = require('fs')
> 
> router.use(bodyParser.urlencoded({ extended: false }))
> router.use(bodyParser.json());  router.use('/client',
> express.static(path.join(path.resolve(__dirname,'../'),'/htmlfiles/client.js')));
> 
> router.get('/getList/:id',(req,res)=>{
>     console.log(req.params)
>     res.sendStatus(200) })
> 
> 
> 
> router.get('/getlist',(req,res)=>{
>     console.log(path.join(path.resolve(__dirname,'../'),'/htmlfiles/client.js'))
>     console.log(path.join(path.resolve(__dirname,'../'),'/htmlfiles/firstpage'),'Logger')
>     res.sendFile(path.join(path.resolve(__dirname,'../'),'/htmlfiles/firstpage.html'))
>     console.log('In get List')
> 
> })
> 
> router.post('/newlist',async (req,res)=>{
>     res.send('ys') console.log(req.body) res.send(req.body.fname) })
> 
> 
> module.exports = router


firstpage.html

 ```<!DOCTYPE html>
<html>
  <head>
   
  </head>
<body>

<h1>My First Heading</h1>
<a href="https://www.w3schools.com/">Visit W3Schools.com!</a>


<form action="http://localhost:5000/api/newlist" method="POST">
    <label for="fname">First name:</label><br>
    <input type="text" id="fname" name="fname" value="Gowtham"><br>
    <label for="lname">Last name:</label><br>
    <input type="text" id="lname" name="lname" value="Kishire"><br><br>
    <input type="submit" value="Submit">
  </form>

  <h1>Node + Express + MongoDb example</h1>
  <p id="counter">Loading button click data.</p>
  <button id="myButton">Click me!</button>
<p>My first paragraph.</p>


<button id = 'information'>Click here</button>


</body>
<script src="client.js"></script>
</html>
```

Client.js
```
console.log('Client-side code running');

const button = document.getElementById('myButton');
button.addEventListener('click', function(e) {
  console.log('button was clicked');
});```

Please help me on this case

共有1个答案

华烈
2023-03-14

您可以对其使用date-fns包。它是tree-shakeable,因此只有您导入的内容才会进入final bundle。您可以使用一个名为differenceInHours()的函数。

包:https://www.npmjs.com/package/date-fns

DifferenceInHours:https://date-fns.org/v2.19.0/docs/DifferenceInHours

一个参数是来自数据库的日期,第二个参数是当前日期。对于当前日期,您可以只发送Date.now()

 类似资料:
  • 当我用我的节点运行MongoDB连接时。js应用程序哪个游戏平台我在这里面临着越来越多的MongoDB连接的问题[不使用任何查询,但它不断增加],达到819,我的MongoDB复制服务器停止响应,间接应用程序停止工作。但是我想保持至少20个关于如何解决这些问题的联系,请帮助我。 ** Mongodb连接:const connectionString=mongodb://AAAA:PASSWORD@

  • 当我尝试使用node js创建grpc客户端调用时,我遇到了一个问题。当我在proto文件中使用“google/api/annotations.proto”时,我得到一个错误。如果我删除它,它会工作文件。我可以知道我从我的客户那里错过了什么吗。js公司 错误:无法解析的扩展:“扩展google”。protobuf。中的MethodOptions。谷歌。根目录下的api。resolveAll(src

  • 问题内容: 我已经将一个Java项目编译到一个Jar文件中,并且在运行它时遇到了问题。 当我跑步时: 我收到以下错误 该类文件不在jar的根目录中,因此我尝试更改主类的路径以使其与该类文件的路径匹配,并且遇到相同的问题。 我应该展平文件结构吗?如果是这样,我该怎么做。如果有任何用途,我正在使用Ant来构建Jar文件。 更新 这是jar的内容以及相关的Ant部分,我将我工作的公司的名称更改为“ or

  • 在EJB中运行客户端代码时出错: 线程“Main thread”java中出现异常。lang.NoClassDefFoundError:weblogic上的weblogic/kernel/KernelStatus。jndi。环境(Environment.java:78)在weblogic。jndi。WLInitialContextFactory。javax上的getInitialContext(W

  • 我们的目标是整合。NET引入我们的应用程序,使用Node SDK示例代码。 节点SDK:https://github.com/AuthorizeNet/sdk-node 推荐的示例代码:https://github.com/AuthorizeNet/sample-code-node/tree/ef9e5c2d9e0379b5f47a0ebcb6847e711fe196ef 我试图创建一个客户支付配

  • 问题内容: 我正在尝试让socket.io(节点库)正常工作。 我有服务器端的js,并且正在监听。socket.io网站仅声明: 很好,但是,我要导入什么JS文件! 我进入了node_modules目录,通过npm安装了socket.io,里面是 文件。但是,这是服务器端的(使用短语,它在客户端上出错)。 我已经花了一个小时环顾四周,但无法使任何客户端.js文件正常工作。 我想念什么? 问题答案: