ko-starter/README.md

63 lines
2.0 KiB
Markdown
Raw Normal View History

2018-11-30 02:42:47 +00:00
# KnockoutJS APP Starter
> Build Single-Page apps with KnockoutJS
2018-11-30 07:26:25 +00:00
Rapidly prototype your next single-page application, with a `zero-build` out-of-the-box web-component solution. Need to go beyond the prototype stage, fret ~~not, the tools are in-place to take you to production.~~
2018-11-30 02:42:47 +00:00
This is as simple as possible, but no simpler
*Designed for web componets in both legacy and modern browsers*
2018-11-30 07:26:25 +00:00
## Features
2018-11-30 02:42:47 +00:00
- `KnockoutJS` 3.4.x
- `Web Components` for reuseable UI
2018-11-30 07:26:25 +00:00
- `Bootstrap` 3.x for design
- `JQuery` 1.11.x to support bootstrap, and provide ajax
2018-11-30 02:42:47 +00:00
- Based on `HTML5Boilerplate` 6.x
- `ESLint` for coding style
2018-11-30 07:26:25 +00:00
- `Relay` a simple pub/sub utility for component communication, using knockout itself
2018-11-30 02:42:47 +00:00
2018-11-30 07:26:25 +00:00
## Requirements
2018-11-30 02:42:47 +00:00
2018-11-30 07:26:25 +00:00
[NodeJS]() is used to install `vendor/` dependencies and in the *future* provide a method to `build` your project for production via `gulp`
2018-11-30 02:42:47 +00:00
2018-11-30 07:26:25 +00:00
## Getting Started
2018-11-30 02:42:47 +00:00
2018-11-30 07:26:25 +00:00
Lets bootstrap our app with
2018-11-30 02:42:47 +00:00
2018-11-30 07:26:25 +00:00
```
npm install
```
2018-11-30 02:42:47 +00:00
2018-11-30 07:26:25 +00:00
And move the `src/` folder where ever you want it
2018-11-30 02:42:47 +00:00
## Project Structure
2018-11-30 07:26:25 +00:00
```
src/ <-- your public app directory
app/ <-- knockoutjs config & startup
assets/ <-- your js, css, and images
components/ <-- web components
pages/ <-- html views that use web components
vendor/ <-- extenal dependencies, ie. things you did not write
index.html <-- start here
```
## Documentation
You can find extra documentation in the `docs/` directly, such as
- [Relay]('docs/relay.md')
2018-11-30 02:42:47 +00:00
## Polyfills
2018-11-30 07:26:25 +00:00
While todays "Evergreens" browsers support 99% of `ES6` and provide a pethra of capabilities, such as `import`, `class`, `fetch`, and `promise` depending on your desired browser support, you may find a polyfill to suit your needs...
2018-11-30 02:42:47 +00:00
2018-11-30 07:26:25 +00:00
...**HOWEVER** this build projects uses libraries designed to work with IE8+, but testing that is beyond the scope of this project
2018-11-30 02:42:47 +00:00
## TODO
2018-11-30 07:26:25 +00:00
- add a simple router (riot-route)
2018-11-30 02:42:47 +00:00
- add gulp build process for production builds
- add Jasmine for testing