Edit Page

Using TypeScript in a Sails app

The recommended language for building Node.js+Sails apps is JavaScript.

But Sails also supports using TypeScript to write your custom app code (like actions and models). You can enable this support in just a few steps:

  1. Run npm install typescript ts-node --save in your app folder.
  2. Install the necessary typings for your app. At the very least you'll probably want to:
    npm install @types/node --save
    npm install @types/express --save
    
  3. Add the following line at the top of your app's app.js file:
    require('ts-node/register');
    
  4. Start your app with node app.js instead of sails lift.

To get you started, here's an example of a traditional Sails controller written in Typescript, courtesy of @oshatrk:

// api/controllers/SomeController.ts
declare var sails: any;

export function hello(req:any, res:any, next: Function):any {
  res.status(200).send('Hello from Typescript!');
}

To try that example out, configure a route so that its target points at SomeController.hello, relift, and then visit the route in your browser or with a tool like Postman.

Is something missing?

If you notice something we've missed or could be improved on, please follow this link and submit a pull request to the sails-docs repo. Once we merge it, the changes will be reflected on the website the next time it is deployed.

Sails logo
  • Home
  • Get started
  • Support
  • Documentation
  • Documentation

For a better experience on sailsjs.com, update your browser.

Documentation

Reference Concepts App structure | Upgrading Contribution guide | Tutorials More

Tutorials

  • Full-stack JavaScript with Sails
  • Low-level MySQL usage (advanced)
  • Using CoffeeScript
  • Using MongoDB
  • Using TypeScript

Built with Love

The Sails framework is built by a web & mobile shop in Austin, TX, with the help of our contributors. We created Sails in 2012 to assist us on Node.js projects. Naturally we open-sourced it. We hope it makes your life a little bit easier!

Sails:
  • What is Sails?
  • Community
  • News
  • For business
About:
  • Our company
  • Security
  • Legal
  • Logos/artwork
Help:
  • Get started
  • Documentation
  • Docs
  • Contribute
  • Take a class

© 2012-2021 The Sails Company. 
The Sails framework is free and open-source under the MIT License. 
Illustrations by Edamame.