表示来自不同路径的js静态文件

时间:2016-05-31 16:41:13

标签: javascript node.js express routing coffeescript

我有一个页面要求提供这些文件

<link rel="stylesheet" href="/vendor/css/style.css">
<script type="text/javascript" src="/vendor/js/app.js"></script>

我已按如下方式设置了快速静态路由

express = require 'express'
app = express()

app.use '/vendor/js', express.static './node_modules/framework/'
app.use '/vendor/css', express.static './otherFramework/'

app.get '/page/:num', (req, res) ->
    page = parseInt req.params.num, 10
    res.render 'list', #list is a jade file that extends a common layout.jade, the same as the '/' route
        start: page
        end: ++page
    return

当我打开页面'/'时,一切正常,但现在我想要实现另一个类似MVC的路由,如'/page/:num',并且快递被要求这条新路由作为我请求的外部文件的基本路径,例如:(来自服务器日志)

/page/1/vendor/css/style.css - 200

这显然不起作用。

如何告诉express在root中搜索?我试图在路径之前使用~,但它不起作用。

2 个答案:

答案 0 :(得分:0)

<a [routerLink]="['/brands/' + item.id + '/regions']">regions</a> (主文件)文件中,在应用程序路由之前添加以下行:

<a [routerLink]="['/brands', item.id, 'regions']">regions</a>

答案 1 :(得分:0)

@ akram-saouri的回答几乎是准确的:我最终使用了这个配置:

app.use '*/vendor/js', express.static './node_modules/framework/'
app.use '*/vendor/css', express.static './otherFramework/'

适用于所有应用,它就像一个魅力