Skip to content

Commit 403e591

Browse files
gbisheimerGuillaume Chau
authored andcommitted
Initializes HMR dev server using the host:port specified for meteor server (#227)
1 parent c42d0d6 commit 403e591

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

packages/vue-component/plugin/dev-server.js

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,21 +35,28 @@ if(Meteor.isDevelopment) {
3535
}
3636
});
3737

38-
function getMeteorPort() {
38+
function getMeteorBinding() {
39+
const reg = /(?:--port|-p)(?:=|\s)(?:([0-9.]+):)?(\d+)/gi;
3940
const argv = this.process.argv;
40-
let index = argv.indexOf('--port');
41-
if(index === -1) {
42-
index = argv.indexOf('-p');
43-
}
44-
if(index !== -1 && argv.length > index) {
45-
return parseInt(argv[index+1])+3;
41+
const result = reg.exec(argv);
42+
if(result && result.length >= 2) {
43+
let interface = result[1];
44+
let port = parseInt(result[2]);
45+
return {interface, port};
4646
}
47+
return {}
4748
}
4849

49-
PORT = parseInt(process.env.HMR_PORT) || parseInt(process.env.VUE_DEV_SERVER_PORT) || getMeteorPort() || 3003;
50+
PORT = parseInt(process.env.HMR_PORT) || parseInt(process.env.VUE_DEV_SERVER_PORT) || getMeteorBinding().port+3 || 3003;
51+
INTERFACE = getMeteorBinding().interface
5052

5153
try {
52-
server.listen(PORT);
54+
if( INTERFACE ) {
55+
server.listen(PORT, INTERFACE);
56+
}
57+
else {
58+
server.listen(PORT)
59+
}
5360
if (process.stdout.clearLine) {
5461
process.stdout.clearLine();
5562
}

0 commit comments

Comments
 (0)