ejs中怎么引js文件

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <script src="js.js"></script>
</head>
<body>
  <button id="btn">按钮</button>
</body>
</html>

请问这样js.js为什么不能引入,按钮这个页面还是有的,js只是一个点击按钮的alert
难道也要 <% %> 这类东西的吗

尝试引一张图片,依然不行,那个html文件可以正常显示图片。下面有代码。请指教
图片描述 没有报错

图片描述

下面是views里的
图片描述

下面是ejs.js

const consolidate=require("consolidate");
const express=require("express");

var server=express();
server.listen(8080);
server.engine("html",consolidate.ejs);
server.set("views","./views");
server.set("view engine","html");

server.use("/",function(req,res){
  res.render("file.ejs",{name:"boy"});
})

下面是file.ejs

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <img src="flower.jpg" alt="">
  i am <%= name%>
</body>
</html>
阅读 11k
7 个回答

你用chrome,然后F12打开控制台,然后查看network,看看你的js是不是404了。然后你js的全路径是不是和你想的不一样

第一步: 设置静态文件目录
app.use(express.static(path.join(__dirname, 'static')));

第二步:创建文件
clipboard.png

第三步:页面引入
clipboard.png

检查一下 js.js 和当前 url 的相对路径是否正确(注意不是和 ejs 模板的相对路径)

首先你换张图片试试,用img标签看看,或者打f12看有没有报错。另外你js里写了啥?你给button addeventlistener了吗?

你这是本地文件还是服务器返回的啊。本地文件估计是路径写错了,服务器返回的估计是路由没写好。

在控制台 查看 js.js是否被引入 是404 还是别的

如果设置了静态资源的路径就应该把静态资源放在相应的目录下边,你这个可能引用的路径不对

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题