Demo application to compare various client side mvc approaches. Using Knockout.js
Scaffolding done using Yeoman and the [Knockout Generator] (https://github.com/bmac/generator-knockout).
Make sure you have the latest packages installed
npm install
bower install
Note: If you don't have npm
installed, make sure you have
node installed. If you don't have bower,
npm install -g bower
.
The above steps will download all the required software to build and run this app, such as grunt, requirejs, and jquery.
You can run your app using grunt preview
. This will start a
server on localhost:8000
, meaning you can simply go to the
url localhost:8000/index.html
while it's running.
If you'd like to run the compiled version, run
grunt preview-live
.
This application uses requirejs to load the various modules in the app folder. However, upon build, all of these files are concatenated and minified together to create a small, compressed javascript file.
Running grunt
by itself will run through all of the steps of
linting the javascript, building out dependencies and ultimately
creating /dist/require.js
.
There's just enough to in place to get you going. Go ahead
and make your changes to index.html
. You'll start your
javascript work in app/main.js
by requiring your first
modules. Past that, well, the world is your oyster.
The test directory uses qunit
, which is run using phantomJS
in the console, but can also be ran by launching the server
grunt preview
and going to localhost:8000/test/index.html
.
Create tests in the test/tests.js
file, where you can
require your modules and test their functionality.
Assuming you're already ran npm install
and bower install
,
the only pieces required to run the application in its built
state is running grunt
.
If you're using a webserver like apache or nginx, you'll want
to create a redirect from /components/requirejs/require.js
to
/dist/require.js
. (Note: this is exactly what grunt preview-live
does)