LoginSignup
1
1

More than 5 years have passed since last update.

PhaserをWebPackで使うときのwebpack.config.js

Last updated at Posted at 2017-02-20

Webpack+Phaserで作ろうと思って、
https://github.com/lean/phaser-es6-webpack
を参考に、とりあえず、できる限りの最小で書いていますので、
上記URLにあるようなBrowserSyncの設定とかは入っていませんので、
適宜設定していただければと思います。
ファイル構成は、

dist(書き出し用)、src(ソース用)のファイルだけ、作ってもらえればと思います。

package.json
{
  "devDependencies": {
    "babel-cli": "^6.23.0",
    "babel-core": "^6.23.1",
    "babel-loader": "^6.3.2",
    "babel-preset-es2015": "^6.22.0",
    "expose-loader": "^0.7.3",
    "phaser-ce": "^2.7.3",
    "webpack": "^2.2.1"
  }
}
webpack.config.js
//pathに関するいろいろができるものです。
var path = require('path');
//ローカルインストールじゃないと動かない気がする
//グローバルでも動かす方法教えてください
var webpack = require('webpack');

//ここらへんは、Phaser-ceのnpmのページに書いてるのと、ほぼ一緒。
//ただ、
//path.join(__dirname, '/node_modules/phaser/');
//こうなってる。phaser-ceでしょっていう
var phaserModule = path.join(__dirname, '/node_modules/phaser-ce/');
var phaser = path.join(phaserModule, 'build/custom/phaser-split.js');
var pixi = path.join(phaserModule, 'build/custom/pixi.js');
var p2 = path.join(phaserModule, 'build/custom/p2.js');

module.exports = {
  entry: {
    app: [
      'babel-polyfill',
      path.resolve(__dirname, 'src/main.js')
    ],
    vendor: ['pixi', 'p2', 'phaser']
  },
  module: {
    loaders:[
      { test:/\.js$/,
        loader: 'babel-loader',
        include: path.join(__dirname, 'src') ,
        //.babelrcに書く場合は不要
        query:{presets: ['es2015']}
      },
      { test: /pixi\.js/,
        loader: 'expose-loader?PIXI'
      },
      { test: /phaser-split\.js$/, loader: 'expose-loader?Phaser' },
      { test: /p2\.js/, loader: 'expose-loader?p2' }
    ]
  },
  output:{
    filename: './dist/[name].js'
  },
  //これは入れないと動かなかった。よくわかってない
  plugins: [
    new webpack.optimize.CommonsChunkPlugin({name:"vendor", filenam:"vendor.bundle.js"})
  ],
  //ここもnpmのページに書いてあるとおり
  resolve: {
        alias: {
            'phaser': phaser,
            'pixi': pixi,
            'p2': p2,
        }
  }
}
1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1