bem-express
bem-express copied to clipboard
BEM project-stub with BEMTREE and express
bem-express
Almost the same as project-stub but with BEMTREE and Express.
Installation
git clone https://github.com/bem/bem-express.git
cd bem-express
npm i
Development
npm run dev
will run initial enb make command and then start the server with nodemon which will restart it on any server file update. Also chokidar will watch for changes in *.blocks/** and rebuild the project automatically. Then livereload will update the page in the browser.
You may also set NO_LIVERELOAD env variable to switch livereload off:
NO_LIVERELOAD=1 npm run dev
You may also run rebuild manually with enb make or with external watcher (e.g. npm run watch). To switch off automatic rebuild use NO_AUTOMAKE env variable:
NO_AUTOMAKE=1 npm run dev
Production
YENV=production enb make
NODE_ENV=production node server
Templating
Templating starts in root block which replaces itself with page or any other context (if specified as argument to render function).
Pro tips
Run server in dev mode with NODE_ENV=development environment variable (nodemon will set it for you).
In dev mode
- Add
?json=1to URL to see raw data - Add
?bemjson=1to URL to see BEMJSON generated with BEMTREE templates.