如果您使用2个级别的URL,Express会在注射中添加URL的第一部分?

我正在使用Node.js + Express。

当您拥有1级url时:

/estonia 

所有的脚本和样式都可以正确加载,但是如果你有一个2级URL:

 /estonia/tallinn 

脚本和样式注射失败,因为它增加/estonia的path:

之前: http:// localhost:5050 / js / config.js
之后: http:// localhost:5050 / estonia / js / config.js

这是我的routes.js文件:

 app.get('*', function(req, res) { var url = req.url.slice(1); var urlParamsArray = url.split("/"); if ( countries[urlParamsArray[0]] && (urlParamsArray.length===1 || cities[urlParamsArray[1]]) ) { res.sendFile(config.ROOT_PATH +'/'+ config.PUBLIC_PATH+'/index.html'); } else { res.status(404).sendFile(config.ROOT_PATH + '/'+ config.PUBLIC_PATH+'/404.html'); } }); 

这是我的express.js文件:

 app.set('view engine', 'ejs'); app.use(function (req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization'); next(); }); app.use(bodyParser()); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(session({secret:config.EXPRESS_SESSION_SECRET})); app.use(favicon(config.ROOT_PATH+'/public/favicon.ico')); app.use(express.static(config.ROOT_PATH+"/"+config.PUBLIC_PATH)); 

我该如何解决这个问题?

<base href="/">到模板的<head>部分。