我正在尝试构建我的第一个节点应用程序并且遇到了javascript文件的问题,但我的css没有问题,所以我很困惑。这是我的app.js:
var express = require("express");
var app = express();
app.set("view engine", "ejs");
app.use(express.static(__dirname + '/public'));
我无法加载我的js文件,直到我添加了第4行,我在Chrome控制台中看到了#34; connected",这是来自我的js文件。我遇到的问题是,由于我添加了第4行,express.static我的js文件没有改变,我在文件中添加的所有内容都没有显示在chrome resources选项卡中。奇怪的是,我的css文件工作正常,所以我有点难过。
我正在尝试链接到js文件,如:
<script src="javascripts/main.js"></script>
我不确定为什么它不能正常工作,我尝试重新启动服务器,然后安装了nodemon,它也没有工作。我的文件夹结构是
app.js
public
stylesheets
main.css
javascripts
main.js
我已经查找了问题并且发现人们没有连接到静态文件,没有连接后他们没有显示任何已保存的更改
答案 0 :(得分:5)
答案 1 :(得分:0)
尝试使用绝对路径以确保正确加载静态资源。使用相对路径(例如javascripts/main.js
)可能会有问题,因为浏览器将它们转换为绝对路径的方式(它考虑了完整的URL,包括任何嵌套路由)。
例如,如果您设置了路由/foo/bar
并且使用了相对路径,那么当您在浏览器中访问/foo/bar
时,浏览器将尝试访问/foo/bar/javascripts/main.js
。< / p>
答案 2 :(得分:0)
您遇到的问题已经被像webpack这样的库所回答。它做热重装。无论您对Web应用程序所做的更改是什么,都将加载到客户端,并且将修补文件以更新更改,而无需重新启动服务器。您将在浏览器中运行更新的脚本。