Express.js路线交易

时间:2016-11-02 21:59:02

标签: javascript node.js express routing code-organization

当我设置一些路线时,我正常地这样做:

app.get('/x', function(req, res) {
res.sendFile(path.join(__dirname + '/public/.../index.html'));});

问题是如果您在路径文件夹中有JS或CSS,则无法托管它们。

我经常添加

app.get('/public/.../js/index.js', function(req, res) {res.sendFile (__dirname + '/public/.../js/index.js');});
app.get('/public/.../css/style.css', function(req, res) {res.sendFile (__dirname + '/public/.../css/style.css');});

就在Route下方,可以访问JS和CSS。

我已经使用express static

托管库
app.use('/lib', express.static('lib'));

但是对于路径文件夹中的JS和CSS来说这是不可能的(/ public /.../ js)

  
      
  • 是否有更好的方法来整理路径文件夹中的文件?
  •   

1 个答案:

答案 0 :(得分:1)

您可以使用虚拟路径,保留当前目录结构,添加以下路由,您可以使用./public子目录下的/ static前缀引用所有静态文件:

app.use('/static', express.static('public'))

E.g。你可以参考http://your_server/static/public/.../js/index.js请注意,在这种情况下,/ public下的所有文件都可以通过/ static前缀访问,因此您不应该有服务器代码或服务器配置。

理想情况下,为了清楚起见,您应该使用类型子文件夹(例如/ static / js,/ static / css)来托管和引用所有静态文件:

app.use('/static', express.static('static'))