繁体   English   中英

为什么我的脚本文件在 index.ejs 中不起作用?

[英]Why doesn't my script file work in index.ejs?

当我加载页面时,

怎么了

出现了,但 script.js 中的“Hello World”没有出现。 有什么帮助吗?

目录看起来像这样

project | +-- node modules | +-- javascript | | | +-- script.js | +-- views | | | | +-- index.ejs | +-- server.js | +-- package.json

index.ejs 文件

<html lang="en"> <head> <meta charset="utf-8"> <title>Index</title> <meta name="description" content="Index"> </head> <body> <h1>What is up?</h1> <div id = "container"> </div> </body> <script src = "javascript/script.js"> // var container = document.getElementById("container"); // var content = document.createTextNode("Hello, World!"); // container.appendChild(content); </script> </html>

脚本中注释掉的代码正是包含在 script.js 文件中的。 如果我取消注释并在 ejs 文件中运行代码,它就可以工作。 如果在外部 script.js 中则不然

server.js 文件

const express = require('express') const app = express() app.set('view-engine', 'ejs') app.use(express.static('project/javascript')) app.get('/', (req, res) => { res.render('index.ejs') }) app.listen(3000)

如果您将src -attribute 更改为绝对路径,这应该可以正常工作:

<script src="/script.js"></script>

请注意,我已从 url 中删除了/javascript子文件夹,因为这不正确。 您还应该将子文件夹传递给express.static ,即:

app.use(express.static('javascript'));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM