72 lines
3.3 KiB
Markdown
72 lines
3.3 KiB
Markdown
/*MIT License
|
|
|
|
Copyright (c) 2017 Richard Davey
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in all
|
|
copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
SOFTWARE.*/
|
|
|
|
# Phaser 3 Webpack Project Template
|
|
|
|
A Phaser 3 project template with ES6 support via [Babel 7](https://babeljs.io/) and [Webpack 4](https://webpack.js.org/) that includes hot-reloading for development and production-ready builds.
|
|
|
|
This has been updated for Phaser 3.50.0 version and above.
|
|
|
|
Loading images via JavaScript module `import` is also supported, although not recommended.
|
|
|
|
## Requirements
|
|
|
|
[Node.js](https://nodejs.org) is required to install dependencies and run scripts via `npm`.
|
|
|
|
## Available Commands
|
|
|
|
| Command | Description |
|
|
|---------|-------------|
|
|
| `npm install` | Install project dependencies |
|
|
| `npm start` | Build project and open web server running project |
|
|
| `npm run build` | Builds code bundle with production settings (minification, uglification, etc..) |
|
|
|
|
## Writing Code
|
|
|
|
After cloning the repo, run `npm install` from your project directory. Then, you can start the local development server by running `npm start`.
|
|
|
|
After starting the development server with `npm start`, you can edit any files in the `src` folder and webpack will automatically recompile and reload your server (available at `http://localhost:8080` by default).
|
|
|
|
## Customizing the Template
|
|
|
|
### Babel
|
|
|
|
You can write modern ES6+ JavaScript and Babel will transpile it to a version of JavaScript that you want your project to support. The targeted browsers are set in the `.babelrc` file and the default currently targets all browsers with total usage over "0.25%" but excludes IE11 and Opera Mini.
|
|
|
|
```
|
|
"browsers": [
|
|
">0.25%",
|
|
"not ie 11",
|
|
"not op_mini all"
|
|
]
|
|
```
|
|
|
|
### Webpack
|
|
|
|
If you want to customize your build, such as adding a new webpack loader or plugin (i.e. for loading CSS or fonts), you can modify the `webpack/base.js` file for cross-project changes, or you can modify and/or create new configuration files and target them in specific npm tasks inside of `package.json'.
|
|
|
|
## Deploying Code
|
|
|
|
After you run the `npm run build` command, your code will be built into a single bundle located at `dist/bundle.min.js` along with any other assets you project depended.
|
|
|
|
If you put the contents of the `dist` folder in a publicly-accessible location (say something like `http://mycoolserver.com`), you should be able to open `http://mycoolserver.com/index.html` and play your game.
|