This project is an application skeleton for a typical [AngularJS][angularjs] web app. You can use it to quickly bootstrap your angular webapp projects and dev environment for these projects.
The seed contains a sample AngularJS application and is preconfigured to install the Angular framework and a bunch of development and testing tools for instant web development gratification.
The seed app doesn't do much, just shows how to wire two controllers and views together.
To get you started you can simply clone the angular-simple-book
repository and install the dependencies:
We have two kinds of dependencies in this project: tools and Angular framework code. The tools help us manage and test the application.
- We get the tools we depend upon via
npm
, the [Node package manager][npm]. - We get the Angular code via
bower
, a [client-side code package manager][bower]. - In order to run the end-to-end tests, you will also need to have the [Java Development Kit (JDK)][jdk] installed on your machine. Check out the section on end-to-end testing for more info.
We have preconfigured npm
to automatically run bower
so we can simply do:
npm install
Behind the scenes this will also call bower install
. After that, you should find out that you have
two new folders in your project.
node_modules
- contains the npm packages for the tools we needapp/bower_components
- contains the Angular framework files
Note that the bower_components
folder would normally be installed in the root folder but
angular-seed
changes this location through the .bowerrc
file. Putting it in the app
folder
makes it easier to serve the files by a web server.
We have preconfigured the project with a simple development web server. The simplest way to start this server is:
npm start
Now browse to the app at [localhost:8000/index.html
][local-app-url].
**Before starting Protractor, open a separate terminal window and run:**
npm start
In addition, since Protractor is built upon WebDriver, we need to ensure that it is installed and
up-to-date. The `angular-simple-book` project is configured to do this automatically before running the
end-to-end tests, so you don't need to worry about it. If you want to manually update the WebDriver,
you can run:
npm run update-webdriver
Once you have ensured that the development web server hosting our application is up and running, you
can run the end-to-end tests using the supplied npm script:
npm run protractor
This script will execute the end-to-end tests against the application being hosted on the
development server.
**Note:**
Under the hood, Protractor uses the [Selenium Standalone Server][selenium], which in turn requires
the [Java Development Kit (JDK)][jdk] to be installed on your local machine. Check this by running
`java -version` from the command line.
If JDK is not already installed, you can download it [here][jdk-download].
## Updating Angular
Since the Angular framework library code and tools are acquired through package managers (npm and
bower) you can use these tools to easily update the dependencies. Simply run the preconfigured
script:
npm run update-deps
This will call `npm update` and `bower update`, which in turn will find and install the latest
versions that match the version ranges specified in the `package.json` and `bower.json` files
respectively.