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/
Note
You can also start the app with npm start
. This will execute the start script from package.json. "scripts": {"start": "meteor run"}
. You can start meteor in another port by passing port as argument, for example, $ meteor --port 2000 .
in case you have the 3000
port in use.
- 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.