Добавить несколько dir для статических файлов в Loopback

Loopback имеет две области, где для статических файлов заданы пути:

server.js

   var path = require('path');
   app.use(loopback.static(path.resolve(__dirname, '../client')));

middleware.json

"files": {
    "loopback#static": {
      "params": "$!../client"
      }
  },

В моей среде dev я также хотел бы ссылаться на другой каталог, например /node_modules

Как это сделать?

Ответы

Ответ 1

Зарегистрируйте loopback.static несколько раз в server.js:

...
app.use(loopback.static(path.resolve(__dirname, '../client')));
app.use(loopback.static(path.resolve(__dirname, '../other-dir')));
...

Первый имеет наивысший приоритет. Подробнее см. http://expressjs.com/api.html.

Вы можете сделать это и с фазами, внутри вашего middleware.json (см. docs):

"files": {
    "loopback#static": [{
        "name": "client",
        "paths": ["/client"],
        "params": "$!../client"
    },
    {
        "name": "someother",
        "paths": ["/someother"],
        "params": "$!../someother"
    }]
}