Code Monkey home page Code Monkey logo

angular2-rollup's Introduction

angular2-rollup

**Note: This guide is following the Angular's Style Guide

A complete, yet simple, starter for Angular 2 using Rollup.

This seed repo serves as an Angular 2 starter for anyone looking to get up and running with Angular 2 and TypeScript fast. Using Rollup for building our files and assisting with boilerplate. We're also using Protractor for our end-to-end story and Karma for our unit tests. This starter code was ported from this Webpack Starter Code. If you are interested in helping out, please contribute to this repository.

Warning: Make sure you're using the latest version of Node.js and NPM

Is Angular 2 Ready Yet?

Quick start

Clone/Download the repo then edit app.ts inside /src/app/app.component.ts

# clone the repo
$ git clone https://github.com/steveblue/angular2-rollup-starter my-app

# change directory to your app
$ cd my-app

# install the dependencies with npm
$ npm install

# start the watchers (currently this task doesn't start the server)
$ npm start

#open a new terminal window and start live-server
& npm run dev:server

go to http://localhost:4200 in your browser.

Table of Contents

Getting Started

Dependencies

What you need to run this app:

  • node and npm (Use NVM)
  • Ensure you're running Node (v5.x.x+) and NPM (3.x.x+)

Installing

  • fork this repo
  • clone your fork
  • npm install to install all dependencies

Developing

After you have installed all dependencies you can now build the project:

  • npm start

Start the watchers with the following command:

  • npm run watch

Then start the development server:

  • npm run dev:server

It will start a local server using live-server and combined with nodemon will watch, build (in-memory), and reload for you. The application can be checked at http://localhost:4200.

Testing

Not 100% sure testing works, it was ported from another starter code project. If you want to try it out and submit a Pull Request with fixes, pelase do so.

1. Unit Tests

  • single run: npm test

2. End-to-End Tests (aka. e2e, integration)

  • single run:
    • in a tab, if not already running!: npm start
    • in a new tab: npm run webdriver:start
    • in another new tab: npm run e2e
  • interactive mode:
    • instead of the last command above, you can run: npm run e2e:live
    • when debugging or first writing test suites, you may find it helpful to try out Protractor commands without starting up the entire test suite. You can do this with the element explorer.
    • you can learn more about Protractor Interactive Mode here

Production

To build your application, run:

  • npm run build:dev

You can now go to /dist and deploy that to your server!

The production build adds minification via Uglify.

  • npm run build:prod

FAQ

Do I need to add script / link tags into index.html ?

Yes, as of right now this starter package will not handle this for you but it is possible. The typical Angular 2 dependencies have been added for you and you can configure more in static.config.js. A script runs that copies each dependency into /dist/lib (or wherever you specify in the config). You can then reference the library in index.html like so:

    <script src="/lib/zone.js/dist/zone.js"></script>
    <script src="/lib/reflect-metadata/Reflect.js"></script>

NOTE: Entire dependency folders are copied from node_modules to dist/lib.

How to include external angular 2 libraries ?

It's simple, just install the lib via npm, import it into src/vendor.ts and then import in your code when you need it. Don't forget that you need to configure some external libs in the bootstrap of your application.

TypeScript

To take full advantage of TypeScript with autocomplete you would have to use an editor with the correct TypeScript plugins.

Use a TypeScript-aware editor

We have good experience using these editors:

License

MIT

angular2-rollup's People

Contributors

steve-symantec avatar steveblue avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.