Minimal setup to start a new BEM project
This repository contains the minimal configuration-files and folders you will need to create a BEM project from scratch.
You may also consider installing bem-tools locally to your environment for ease of use, though it is not required
So, how easy is it to get started with BEM? Super easy.
It's as easy as...
- ›
git clone git://github.com/bem/project-stub.git
- ›
cd project-stub
-
npm install
- ›
./node_modules/bem/bin/bem server
(hint: execute the above commands in your terminal)
Now that bem server
is running, check it out:
Navigate to: http://localhost:8080/desktop.bundles/index/index.html
(here, have a link: http://localhost:8080/desktop.bundles/index/index.html)
That's it, it's that simple. Congratulations, your BEM project is already underway!
Here's the replay... that bem server
command will:
- Install a local copy of all required dependencies from npm into the
./node_modules
directory. (specifically: bem-tools) - Start a local
bem server
on port8080
.
What do we mean by "a local copy of all required dependencies"?
Well, when you run the bem make
/ bem server
command for the first time, we install all of the required dependencies (bem-tools)
to the ./node_modules
directory within the local project directory. This is not the same thing as
installing bem-tools locally to your environment - which, if you haven't
done already, we strongly suggest that you do. This is by far the easiest, quickest way to use
bem-tools in a more beautiful way.
› ./node_modules/bem/bin/bem server
This is the ugly way to run the bem server
command. If you think it's ugly too and wish for a better way keep reading...
Once you have either (a) fixed your PATH environment variable, or (b)
properly installed bem-tools to your local environment.
You may now, more elegantly, start your bem server
by running:
› bem server
Stopping the server is also easy:
[ctrl] + [c]
Pressing [ctrl] + [c]
while the terminal is your active window will stop the server.
For a more permanent way to "easily" use the local-to-this-project's installation of
bem-tools all you must do is ensure that the path to the bem
executable
(./node_modules/.bin
) is included in your PATH
environment variable.
> export PATH=./node_modules/.bin:$PATH
Optionally you may also add export PATH=PATH_TO_PROJECT_DIRECTORY/node_modules/.bin:$PATH
to your .profile
(obviously replacing PATH_TO_PROJECT_DIRECTORY
with the actual path to your project)
BEM is an abbreviation for Block-Element-Modifier. BEM is a way to write code which is easy to support and develop.
For more information about the BEM metodology check out http://bem.info.