webpack.config.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. 'use strict';
  2. /**
  3. * Created by liangdas on 17/1/20.
  4. * Email 1587790525@qq.com
  5. */
  6. var path = require('path');
  7. var webpack = require('webpack');
  8. var phaserModule = path.join(__dirname, '/node_modules/phaser/');
  9. var phaser = path.join(phaserModule, 'build/custom/phaser-split.js'),
  10. pixi = path.join(phaserModule, 'build/custom/pixi.js'),
  11. p2 = path.join(phaserModule, 'build/custom/p2.js');
  12. module.exports = {
  13. //devtool: 'eval-source-map',//配置生成Source Maps,选择合适的选项
  14. devtool:"cheap-module-source-map",
  15. entry: __dirname + "/src/main.js",//已多次提及的唯一入口文件
  16. output: {
  17. path: __dirname + "/../../bin/hitball/js",//打包后的文件存放的地方
  18. filename: "main.js"//打包后输出文件的文件名
  19. },
  20. module: {
  21. loaders: [
  22. {
  23. test: /\.json$/,
  24. loader: "json"
  25. },
  26. {
  27. test: /\.js$/,
  28. exclude: /node_modules/,
  29. loader: 'babel',//在webpack的module部分的loaders里进行配置即可
  30. },
  31. { test: /pixi.js/, loader: "script" }
  32. ]
  33. },
  34. devServer: {
  35. contentBase: "./js",
  36. colors: true,
  37. historyApiFallback: true,
  38. inline: true
  39. },
  40. resolve: {
  41. alias: {
  42. 'phaser': phaser,
  43. 'pixi.js': pixi,
  44. 'p2': p2,
  45. }
  46. },
  47. plugins: [
  48. //这个使用uglifyJs压缩你的js代码
  49. new webpack.optimize.UglifyJsPlugin({
  50. mangle: {
  51. except: ['$super','_super','ctor', '$', 'exports', 'require']
  52. //以上变量‘$super’, ‘$’, ‘exports’ or ‘require’,不会被混淆
  53. },
  54. minimize: true,
  55. compress: {
  56. warnings: false
  57. }
  58. }),
  59. ]
  60. }