我要访问页面url为:http://localhost:18080/add/newnet
但因为我没有登陆,会跳转到http://localhost:18080/login
login.ejs如下:
<link rel="stylesheet" href="bootstrap-3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="stylesheets/style.css">
然后就会发现,request出来的url是:/add/bootstrap-3.2.0/css/bootstrap.min.css,导致我加载不了相应的css和js文件。
我想在页面加入<base url="http://localhost:18080">
类似的标签
但怎么用experess在页面获取类似http://localhost:18080路径吗?
因为要部署在其他环境,写死base肯定不行,需要动态获取。
2 回复
很奇怪,改了一下css和js引入路径如下,href后面加了“/”
<link rel="stylesheet" href="/bootstrap-3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="/stylesheets/style.css">
虽然后台打出的requesturl还是/add/bootstrap-3.2.0/js/bootstrap.min.js
,但页面显示正常了。不懂。。。
@sannychan 如果是EXPRESS的话,问题在APP.JS里 app.use(express.static(path.join(__dirname, ‘/add’)));
如果不是的话 你的静态文件路由表肯定也做过类似配置。 一般来说href后面加了“/” 是正确做法。