Learn SAILS with Real Code Examples
Updated Nov 27, 2025
Installation Setup
Install Node.js and npm/yarn
Run `npm install -g sails` to install globally
Create a project: `sails new myApp`
Configure database adapters in `config/datastores.js`
Run project with `sails lift` to start the server
Environment Setup
Install Node.js and npm/yarn
Install Sails.js globally via npm
Create project with CLI
Configure database adapters
Lift server to test locally
Config Files
config/datastores.js - database config
config/routes.js - custom routes
config/policies.js - request policies
api/models/ - data models
api/controllers/ - controllers
Cli Commands
sails new myApp - create project
sails lift - run server
sails generate model <name> - create model
sails generate controller <name> - create controller
sails console - interact with app
Internationalization
Supports localization via third-party Node.js packages
UTF-8 content by default
Custom middleware for language selection
Dynamic messages in multiple locales
Integrate with i18n libraries like `i18n` or `polyglot`
Accessibility
APIs accessible via REST or WebSockets
Views can include ARIA attributes
Supports cross-origin requests with CORS config
Ensure endpoints follow best practices
Test API responses for accessibility and compliance
Ui Styling
Views support EJS, Pug, or other templating engines
Integrate CSS frameworks like Bootstrap or Tailwind
Front-end frameworks (React, Vue, Angular) optional
Static assets served via `assets/` folder
Real-time updates reflected via WebSockets
State Management
State handled in controllers and services
Sessions via built-in session management
WebSocket state for real-time clients
Shared state in memory or external stores (Redis)
Policies manage pre-processing state per request
Data Management
Waterline ORM manages data across databases
Supports SQL and NoSQL adapters
Blueprint routes simplify CRUD operations
Connection pooling for performance
Custom queries for complex use-cases