The steps for creating a meteor app are as simple as the installation:
- Open your terminal and change your directory to where you want to have your app installed. With the meteor command line interface (CLI), we can create an app with just one command:
>> meteor create <appname>
You can name it as anything you want; I am naming mine timerapp. We'll go through the steps of creating a basic timer, updating the time from the server side to the client in real time:
>> meteor create timerapp
The meteor create appname command installed all packages and libraries specified in the .meteor folder in the app directory. In Meteor, the packages can be installed from Atmosphere and NPM, and there are two places where you can see what is installed by default.
Atmosphere packages are specified in ./meteor/packages. All native npm packages' metadata is in the package.json file.
Folders: If you go into your app directory, you will note that Meteor created three folders and two files: client, server, .meteor, package.json, and .gitignore:
- client: This is for all client-side code.
- server: This is for all server-side code.
- .meteor: This refers to all the core functionality of meteor: packages, databases, and many more.
- package.json: This includes all NPM installed and saved packages.
- .gitignore: This will ignore before the commit the specified files.
- cd to that app directory:
>> cd timerapp
To start the server, run the following command:
>> meteor
After some installation logs in the terminal, you'll see something like this:
=> Started proxy.
=> Started MongoDB.
=> Started your app.
=> App running at: http://localhost:3000/
- Open the project in any text editor of your choice.
In my setup, I am using Atom https://atom.io/ with the Facebook package Nuclide https://nuclide.io/. There are other very good editors, such as Sublime Text, Visual Studio Code, WebStorm, Brackets, and many more.
The app skeleton, created by default, is nice and minimal. In the client and server folders, there is a startup JS main.js file. All this comes by default, and you do not need to create additional configs, specify entry points of the application in different environments, dev servers, plugins, and so on.