Node.js module-specific static resources

走远了吗. 提交于 2019-11-29 11:28:43

You can create another instance of connect.static and use it within a route:

app = express.createServer()

app.configure(function(){
    app.use(express.static(__dirname+'/public'))
})

// new static middleware
var myModuleStatic = express.static(__dirname+'/mymodule')

// catch all sub-directory requests
app.get('/mymodule/*', function(req, res){
    // remove subdir from url (static serves from root)
    req.url = req.url.replace(/^\/mymodule/, '')
    // call the actual middleware, catch pass-through (not found)
    myModuleStatic(req, res, function(){
        res.send(404)
    })
})

app.listen(5555)

Something like this should also work:

app.use(express.static(__dirname + '/public'));    
app.use('/mymodule', express.static(modulePath + '/public'));

See: http://groups.google.com/group/express-js/browse_thread/thread/c653fafc35fa85ed

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!