Sök…


Anmärkningar

Rutter är regler som säger Seglar vad man ska göra när man möter en inkommande begäran.

Rutter definieras i config/routes.js . Ruttarnas ordning är betydande eftersom rutter matchas uppifrån och ned. Detta innebär att om du har en specifik rutt som också kan matchas med en jokerteckenrutt, bör den specifika rutten definieras ovanför jokerteckenrutten.

När en förfrågan kommer in i din ansökan hämtar sails.js alla parametrar som medföljde och gör dem tillgängliga för dig som params på begäran.


Egenskaper i ruttmålobjektet kommer att överföras till rutthanteraren i req.options-objektet. Följande är reserverade egenskaper som kan påverka väghanterarens beteende:

Fast egendom Tillämpliga måltyper Data typ detaljer
skipAssets Allt Boolean Ställ in på true om du inte vill att rutten ska matcha URL: er med prickar i dem (t.ex. myImage.jpg). Detta kommer att hålla dina rutter med jokerteckennotering från matchande webbadresser för statiska tillgångar. Användbart när du skapar URL-sniglar.
skipRegex Allt Regexp Om att hoppa över varje URL som innehåller en punkt är för tillåtet eller om du behöver en rutthanterare som ska hoppas över helt och hållet på olika kriterier kan du använda skipRegex . Det här alternativet låter dig ange ett reguljärt uttryck eller en rad reguljära uttryck för att matcha webbadressen för begäran mot; om någon av matcherna är framgångsrik, hoppas hanteraren över. Notera att till skillnad från syntax för att binda en hanterare med ett reguljärt uttryck, skipRegex räknar _actual RegExp objekt, inte strängar.
lokalbefolkningen controller, visa, plan, svar Ordbok Ställer in lokala lokalvariabler som ska skickas till valfri vy som visas under hanteringen av begäran.
cors Allt Ordbok eller booleska eller sträng Anger hur man ska hantera förfrågningar om denna rutt från ett annat ursprung.
befolka plan Boolean Anger om resultaten i en "find" eller "findOne" -plan ska ha tillhörande modellfält befolkade. Standardvärde som är inställt i config/blueprints.js .
hoppa över , begränsa , sortera , var plan Ordbok Ange kriterier för "hitta" -planen.

Anpassade RESTful ruttdefinitioner

module.exports.routes = {
    'GET /foo': 'FooController.index',
    'GET /foo/new': 'FooController.new',
    'POST /foo/create': 'FooController.create',
    'GET /foo/:id/edit': 'FooController.edit',
    'PUT /foo/:id/update': 'FooController.update',
    'GET /foo/:id': 'FooController.show',
    'DELETE /foo/:id': 'FooController.delete',
};

Dirigera om

module.exports.routes = {
  '/foo': '/bar',
  'GET /google': 'http://www.google.com'
};

Definiera anpassad variabel för alla vyer

module.exports.routes = {
  // This function will be executed for all http verbs on all urls
  'all /*', function (req, res, next) {
    // Expose the function `fooBar` to all views (via the locals object)
    res.locals.fooBar = function (arg1) {
      return 'foobar' + arg1;
    };
  },
};

Hoppa över tillgångar (webbadresser med punkter i dem) från jokerteckenvägen

module.exports.routes = {
  'GET /foo/*': {
     fn: function(req, res) {
       res.send("FOO!");
     },
     skipAssets: true
  },
};

Rutter med RegEx

module.exports.routes = {
    // sends matching regex (few patterns) as 'page' param
    'r|/foo/([0-9]+)|page': 'FooController.get',
    'r|/foo/(.*)|page': 'FooController.get',
    'r|/foo/(\\w+)|page': 'FooController.get'
};

URL-sniglar

module.exports.routes = {
  'GET /blog/:year/:month/:day/:posttitle/': 'BlogController.showPost',
  'GET /blog/:year/:month/:day/': 'BlogController.showDayArchive',
  'GET /blog/:year/:month/': 'BlogController.showMonthArchive',
  'GET /blog/:year/': 'BlogController.showYearArchive',
};

De parametrar som skickas i URL: n kan sedan nås i motsvarande controlleråtgärder med req.param('year') , req.param('month') etc.

Till exempel utlöser en GET begäran till /blog/2016/08/ BlogController.showMonthArchive kontrolleråtgärden, med req.param('year') med värdet 2016 och req.param('month') med värdet 08 .



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow