Express中绝对和相对路径的难度

tur*_*tle 1 node.js express

我在Express应用程序中有一个API的路径,如下所示:

app.get('/:username/:bookmark/', function(req, res) {

  // do stuff

})
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,这条路线解决了:

GET /username/bookmark/
Run Code Online (Sandbox Code Playgroud)

但是,我想为我的静态资源使用相对URL.例如,我想通往我的路线main.css解决:

GET /css/main.css
Run Code Online (Sandbox Code Playgroud)

相反,它目前解决:

GET /username/bookmark/css/main.css
Run Code Online (Sandbox Code Playgroud)

如何让我的应用程序解析静态内容/css/main.css并从URL中删除API的主要组件?

Mri*_*jay 6

我认为你应该选择express路由流程.

将以下行添加到app.js文件中

app.use(express.static(path.join(__dirname, 'public')));
Run Code Online (Sandbox Code Playgroud)

把你的所有.css文件放在{approot}/public/stylesheets文件夹中.

并在您的HTML文件中添加如下链接

<link rel="stylesheet" type="text/css" href="/stylesheets/index.css">
Run Code Online (Sandbox Code Playgroud)