HTML and CSS Reference
In-Depth Information
On OS X and Linux, run the following:
cat file1.js file2.js | uglify-js > all.min.js
You now have one file— all.min.js —that contains all the code from any files you pass in minified down
into a single, easy-to-serve file.
Reducing the number of files you serve can also speed up game load because each separate web request the
browser needs to make takes some additional time, especially on mobile devices. For a production game, write
a shell script you can run to do this in an automated fashion before you deploy.
Creating Your Own Script
Although there have been hundreds of useful node modules written, you'll have specific needs when you build
your game in which some simple server-side scripting is useful. There are plenty of options for scripting lan-
guages you could use, including Bash, Windows Script, Python, Ruby, or PHP, but because your game is going
to be JavaScript and your game libraries are going to be in JavaScript, it make some sense to write command-
line scripts in JavaScript as well.
To gain some experience building a node module, this section walks you through building a script for gen-
erating spritesheets and some corresponding JSON from a directory of image files. Figure 8-1 shows a sample
output image with sprites lined up in a row.
Figure 8-1: A generated spritesheet.
The only hiccup in this process is that the module used in this section, node-canvas, doesn't compile easily
on Windows because of its native-C dependencies. (To get around this, see the earlier section on getting a vir-
tual Linux machine up and running on Windows.)
Creating a package.json File
To start, create a new directory called spriter for the script you want to write; then open a package.json
file in that directory. The package.json is a file npm uses to get information about your module and its
dependencies. Fill in the contents of your package.json file to match Listing 8-1 , replacing your name and
e-mail address where appropriate.
Listing 8-1: Package.json file
{
"name": "Spriter",
"description": "A Sprite Map generator",
"author": "Your Name <youremail@domain.com>",
"version": "0.0.1",
"dependencies": {
 
 
 
 
Search WWH ::




Custom Search