.. | ||
build | ||
src | ||
Gruntfile.js | ||
LICENSE | ||
package.json | ||
README.md |
Knockout
Knockout is a JavaScript MVVM (a modern variant of MVC) library that makes it easier to create rich, desktop-like user interfaces with JavaScript and HTML. It uses observers to make your UI automatically stay in sync with an underlying data model, along with a powerful and extensible set of declarative bindings to enable productive development.
SnappyMail Modifications
Knockout has a high level of backward compatibility. We don't use it, so a lot of IE code is stripped.
npm closure-compiler is old and broken for ES2015/ES6, so we use the new google-closure-compiler.
Getting started
Totally new to Knockout? The most fun place to start is the online interactive tutorials.
For more details, see
- Documentation on the project's website
- Online examples at http://knockoutjs.com/examples/
Downloading Knockout
You can download released versions of Knockout from the project's website.
For Node.js developers, Knockout is also available from npm - just run npm install knockout
.
Building Knockout from sources
If you prefer to build the library yourself:
-
Clone the repo from GitHub
git clone https://github.com/knockout/knockout.git cd knockout
-
Acquire build dependencies.
Make sure you have Node.js installed on your workstation. This is only needed to build Knockout from sources. Knockout itself has no dependency on Node.js once it is built (it works with any server technology or none). Now run:
npm install -g grunt-cli npm install
The first
npm
command sets up the popular Grunt build tool. You might need to run this command withsudo
if you're on Linux or Mac OS X, or in an Administrator command prompt on Windows. The secondnpm
command fetches the remaining build dependencies. -
Run the build tool
grunt
Now you'll find the built files in
build/output/
.
Running the tests
If you have phantomjs installed, then the grunt
script will automatically run the specification suite and report its results.
Or, if you want to run the specs in a browser (e.g., for debugging), simply open spec/runner.html
in your browser.
License
MIT license - http://www.opensource.org/licenses/mit-license.php