Skip to content

Latest commit

 

History

History
30 lines (21 loc) · 1.53 KB

README.md

File metadata and controls

30 lines (21 loc) · 1.53 KB

A Node.js / Express Hook for the Cartero asset manager, implemented as Express middleware.

Usage

After configuring the Cartero Grunt Task, install the middleware when your application is initialized, passing it the absolute path of your project directory (i.e. the projectDir option from the gruntfile configuration).

// app.js

var app = express();
var carteroMiddleware = require( "cartero-express-hook" );
// ...

app.configure( function() {
	app.set( "port" , process.env.PORT || 3000 );
	app.set( "views" , path.join( __dirname, "views" ) );
	app.use( express.static( path.join( __dirname, "static" ) ) );
	// ...
	app.use( carteroMiddleware( __dirname ) );	// install the Cartero Hook
} );

The middleware wraps the existing res.render() function, so it has an opportunity to populate the cartero_js, cartero_css, and cartero_tmpl variables with the appropriate values each time a template is rendered. By default, the middleware uses the path of the template as the name of the parcel of assets to serve. You can override this behavior and explicitly set what parcel of assets will be served by passing in cartero_parcel as a property of the render function's locals.

res.render( "myTemplate.jade", { cartero_parcel : "parcel/key/as/listed/in/cartero.json" } );

Please see the Cartero documentation for more information on Cartero Hooks.