Trails is a modern, community-driven web application framework for node.js. It builds on the pedigree of Rails and Grails to accelerate development by adhering to a straightforward, convention-based, API-driven design philosophy.
Getting Started
Install
$ npm install -g generator-trails $ yo trails
Trailblaze
Trails uses Yeoman to generate scaffolding for new applications, and to create resources inside the application.
$ yo trails --help Usage: yo trails Generators: Create New Model yo trails:model Create New Controller yo trails:controller Create New Policy yo trails:policy Create New Service yo trails:service
Run
Once installation is complete, begin your journey!
Happy Trails!
Trailpacks
Trailpacks extend the framework’s capabilities and allow developers to leverage existing ecosystem tools through a simple and well-defined API. New features, behavior, APIs, and other functionality can be added to the Trails framework through Trailpacks.
Out of the box, Trails includes a small suite of trailpacks:
Compatibility
- Windows, Mac, and Linux
- Node 4.0 and newer
FAQ
Q. Does Trails have a Roadmap?
Yes! We have a Trail Map that lays out our future plans and release schedule. Feel free to contribute your ideas.
Q. Why does Trails require Node 4+?
Trails is written entirely in ES6, and runs natively on Node without transpiling. If you’d like to use Trails on an older version of node, you can install babel and configure it to transpile your application into ES5.
Q. Is Trails compatible with Sails?
Trails can auto-migrate legacy Sails applications by installing the Sails Trailpack. We want this upgrade to be as smooth as possible, and are committed to maintaining it as a core module.
Q. Is Trails a fork of Sails?
No. Trails is built and maintained by former members of the Sails.js core team, and offers an upgrade path from existing Sails applications, but it utilizes exactly zero lines of code from the original Sails project.
Q. Can I use my own ORM, Webserver, whatever?
Yes! The core team maintains several popular trailpacks, but you are free to implement your own integration and use that instead or in addition to the core packs. See the Trailpack docs for more info.