At this point, you should be able to go forth and create an app. In this example, we will create a Node.js app with Express framework.
$ express <your-new-app>
Running this command (using demo-app
as the example), you should see the following:
create : demo-app
create : demo-app/package.json
create : demo-app/app.js
create : demo-app/public
create : demo-app/public/javascripts
create : demo-app/public/images
create : demo-app/public/stylesheets
create : demo-app/public/stylesheets/style.css
create : demo-app/routes
create : demo-app/routes/index.js
create : demo-app/routes/users.js
create : demo-app/views
create : demo-app/views/index.jade
create : demo-app/views/layout.jade
create : demo-app/views/error.jade
create : demo-app/bin
create : demo-app/bin/www
install dependencies:
$ cd demo-app && npm install
run the app:
$ DEBUG=my-application ./bin/www
BOOM! Express takes care of most of the labor. Now, we do what the computer says, change directory into the app dir and run npm install
.
At this point, you should be able to do a ls
and see the new structure that was created for you.
app.js node_modules/ public/ views/
bin/ package.json routes/
This is the logical starting point for your app. Some of the things in there, lets talk about:
The following lines, for this type of app, we don't need them:
var user = require('./routes/user');
app.get('/users', user.list);
Sets the path to the dir where the view files are located:
app.set('views', path.join(__dirname, 'views'));
Sets the path to the dir with static assets:
app.use(express.static(path.join(__dirname, 'public')));
Sets the root route for the app:
app.use('/', routes);
This is the dir where all your npm packages will reside.
Directory for all static assets like images, JavaScript, CSS, fonts, etc ...
Where all your layout and view Jade files will live.
There is a single file here, www
and this is what activate the Node server.
Project description, scripts manager and the app manifest. Notice the following object:
"scripts": {
"start": "node ./bin/www"
},
This is the code that allows you to run npm start
for the app.
This is the directory where you will build out the RESTful routes for your app. With a base install there should be two files in there, index.js
and users.js
.