-
Notifications
You must be signed in to change notification settings - Fork 1
Quick Start
algesten edited this page Jun 22, 2011
·
13 revisions
For the impatient.
<dependencies>
...
<dependency>
<groupId>foodev</groupId>
<artifactId>fnug</artifactId>
<version>0.28</version>
</dependency>
...
</dependencies>
<repositories>
...
<repository>
<id>algesten</id>
<url>http://algesten.github.com/maven2/releases</url>
</repository>
...
</repositories>
Download it from here: http://algesten.github.com/maven2/releases/foodev/fnug/
Config files and resources MUST be on the classpath
File layout
src/main/resources/bundles.js <-- config file
src/main/resources/js/
src/main/resources/js/mypackage/
src/main/resources/js/mypackage/sourcefile1.js
src/main/resources/js/mypackage/sourcefile2.js
src/main/resources/js/mypackage/styles.css
...
src/main/webapp/WEB-INF/web.xml <-- servlet pointing to config
src/main/webapp/index.html <-- loads js/css bundle
sourcefile1.js
/**
* @requires mypackage/sourcefile2.js <-- depends on sourcefile2.js
* @requires mypackage/styles.css <-- and on styles.css
*/
function foo() {
...
}
bundles.js
{
mypackage: {
basePath: '/js/' <-- base path of mypackage from classpath root.
files: [
'mypackage/sourcefile.js' <-- array of "entry" files for dependency resolution.
],
// Optional JsLint string.
// jsLint: '/*jslint white: true, browser: true, onevar: false, undef: true, nomen: true, eqeqeq: true, plusplus: false, bitwise: true, regexp: true, newcap: true, immed: true, maxerr: 100, maxlen: 100 */',
// Optional check modified interval (ms). Defaults to 3000.
// checkModified: 3000
}
}
web.xml
<servlet>
<servlet-name>fnug</servlet-name>
<servlet-class>fnug.ResourceServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>config</param-name>
<param-value>/bundles.js</param-value> <-- points to config file from classpath root.
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>fnug</servlet-name>
<url-pattern>/rs/*</url-pattern>
</servlet-mapping>
index.html
<head>
<script type="text/javascript" src="/rs/mypackage.js"></script> <-- loads all bundle dependencies (and css).
</head>