Skip to content

Commit 2aed295

Browse files
committed
webpack-dev-middleware easier development setup
1 parent f077abd commit 2aed295

File tree

13 files changed

+46
-38
lines changed

13 files changed

+46
-38
lines changed

coffee/client/js/index.coffee

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,11 @@ class Game
3131
@canvas=document.querySelector "#c"
3232
@pcanvas=document.querySelector "#c_player"
3333
@dimension=null
34+
@socket=io()
3435
if PRODUCTION
3536
console.log "Running in production mode"
36-
@socket=io()
3737
else
3838
console.log "Running in development mode"
39-
@socket=io.connect ":8081"
40-
4139
@renderer=new THREE.WebGLRenderer
4240
canvas:@canvas
4341
PixelRatio:window.devicePixelRatio

coffee/client/webpack.common.coffee

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@ WebpackBar=require "webpackbar"
33
UglifyJsPlugin=require "uglifyjs-webpack-plugin"
44
HtmlWebpackPlugin = require "html-webpack-plugin"
55
CopyPlugin = require "copy-webpack-plugin"
6+
webpack=require "webpack"
67
LodashModuleReplacementPlugin = require 'lodash-webpack-plugin'
78
module.exports=
89
stats:"detailed"
910
performance:
1011
hints: false
11-
entry: './js/index.js'
12+
entry: "#{__dirname}/js/index.js"
1213
output:
1314
path: "#{__dirname}/dist"
1415
filename: '[contenthash].js'
@@ -27,15 +28,15 @@ module.exports=
2728
plugins:[
2829
new HtmlWebpackPlugin({
2930
filename: "index.html"
30-
template: "./static/html/index.html"
31+
template: "#{__dirname}/static/html/index.html"
3132
inject: "head"
3233
})
3334
new LodashModuleReplacementPlugin()
3435
new WebpackBar()
3536
new CopyPlugin({
3637
patterns: [
37-
{ from: "static/assets", to: "assets" }
38-
{ from: "static/css", to: "css" }
38+
{ from: "#{__dirname}/static/assets", to: "assets" }
39+
{ from: "#{__dirname}/static/css", to: "css" }
3940
]
4041
})
4142
]

coffee/client/webpack.dev.coffee

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11

22
merge=require "webpack-merge"
3-
common=require "./webpack.common.js"
3+
common=require "#{__dirname}/webpack.common.js"
44
webpack=require "webpack"
55
module.exports=merge.merge common,
66
devtool: 'inline-source-map'
77
mode: "development"
8-
devServer:
9-
contentBase: "#{__dirname}/public"
10-
port: 8080
118
plugins:[
129
new webpack.DefinePlugin {
1310
PRODUCTION: JSON.stringify(false)

coffee/client/webpack.prod.coffee

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
merge=require "webpack-merge"
3-
common=require "./webpack.common.js"
3+
common=require "#{__dirname}/webpack.common.js"
44
webpack=require "webpack"
55
module.exports=merge.merge common,
66
devtool: 'source-map'

coffee/server/server.coffee

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,18 @@ module.exports=(mode)->
1414
vec3=require "vec3"
1515
Convert = require 'ansi-to-html'
1616
convert = new Convert()
17-
1817
#początkowe zmienne
1918
sf={}
2019
socketInfo={}
21-
20+
port=process.env.PORT || 8080
2221
if mode is "production"
23-
port=process.env.PORT || 8080
2422
app.use express.static "#{__dirname}/../client/dist"
2523
else
26-
port=8081
24+
webpack = require "webpack"
25+
middleware = require "webpack-dev-middleware"
26+
devconfig=require "#{__dirname}/../client/webpack.dev"
27+
compiler = webpack devconfig
28+
app.use middleware(compiler)
2729

2830
#Konfiguracja serwera express
2931
server.listen port,()->

docs/README.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,9 @@ npm install
2727
#Coffeescript transpilation (In TERMINAL 1)
2828
npm run coffee
2929

30-
#Start development webpack server (In TERMINAL 2)
30+
#Start node server with webpack middleware (In TERMINAL 2)
3131
npm run dev
3232

33-
#Start node server (In TERMINAL 3)
34-
npm run start-dev
35-
3633
```
3734

3835
#### Production setup

package-lock.json

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22
"name": "web-minecraft",
33
"version": "1.0.0",
44
"scripts": {
5-
"start-dev": "node src/server/serverDevelopment",
65
"start": "node src/server/serverProduction",
76
"coffee": "coffee -o src/ -cw coffee/",
8-
"dev": "npm run prebuild && cd src/client && webpack serve --open --config webpack.dev.js",
7+
"dev": "npm run prebuild && node src/server/serverDevelopment",
98
"build": "cd src/client && webpack --config webpack.prod.js",
109
"prebuild": "node src/server/prebuild",
1110
"clean": "rimraf src/client/dist/*"
@@ -48,6 +47,7 @@
4847
"copy-webpack-plugin": "^6.3.1",
4948
"webpack": "^5.9.0",
5049
"webpack-cli": "^4.2.0",
50+
"webpack-hot-middleware": "^2.25.0",
5151
"webpack-node-externals": "^2.5.2"
5252
}
5353
}

src/client/js/index.js

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/client/webpack.common.js

Lines changed: 7 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)