@bouncingpixel/express-view-routing

0.2.0-beta • Public • Published

express-view-routing

Automatically generates Express routes for view files within the views directory.

Working With

Requirements

  • NodeJS 6 LTS
  • Express

Using express-view-routing

This package has two modes, development and production.

In development, the package will search for the file to use on every request. This allows developers to add, remove, and change files on the fly without restarting.

In production, the routes are determined at load time and cannot change.

To use the package, simply require it in and pass in the directory to your views folder, the folder name containing the pages to generate routes for, and the file extension of your view files.

Subdirectories will be navigated properly. To create a route for a directory, create an index.dust (if dust is your extension) file in that directory. This route will work with and without the ending slash in both production and development. This is to match the behavior of express which does not require the ending slash.

app.use(
  require('@bouncingpixel/express-view-routing')(
    path.resolve(process.cwd(), app.get('views')), // path to the views directory
    'pages', // folder within the views directory for the pages to generate routes
    app.get('view engine') // the extension of view files
  )
);

Path parameters

Path parameters can be added as a route component by using an underscore before the path name. For example, given the following directory tree and assuming .dust is our file extension:

views/pages/
├─┬ dashboard/
│ └── index.dust
├─┬ blogs/
│ ├── index.dust
│ └── _post.dust
├── index.dust
└── login.dust

The following routes will be generated:

/
/dashboard
/blogs
/blogs/:post
/login

Readme

Keywords

none

Package Sidebar

Install

npm i @bouncingpixel/express-view-routing

Weekly Downloads

1

Version

0.2.0-beta

License

MIT

Unpacked Size

12.4 kB

Total Files

8

Last publish

Collaborators

  • hallmatt