🎨 Improve development structure

This commit is contained in:
brunosimon
2017-08-03 23:27:54 +02:00
parent 0db2060e0f
commit 1aa3e5f135
11 changed files with 306 additions and 84 deletions
+78 -73
View File
@@ -105,99 +105,99 @@ class Site
{ {
this.express.use('/', express.static(path.join(__dirname, '../site/dist'))) this.express.use('/', express.static(path.join(__dirname, '../site/dist')))
// Project route // // Project route
this.express.get('/' + _project.slug, (request, response) => // this.express.get('/' + _project.slug, (request, response) =>
{ // {
response.send(` // response.send(`
<a href="/${_project.slug}/download" download>download project</a> // <a href="/${_project.slug}/download" download>download project</a>
<a href="/${_project.slug}/files/empty.txt" download>download file</a> // <a href="/${_project.slug}/files/empty.txt" download>download file</a>
<form action="#" class="infos-form"> // <form action="#" class="infos-form">
<input type="text" class="name" value="" /> Name // <input type="text" class="name" value="" /> Name
<input type="submit" value="send" /> // <input type="submit" value="send" />
</form> // </form>
<form action="#" class="message-form"> // <form action="#" class="message-form">
<input type="text" class="text" value="Lorem ipsum" /> Text // <input type="text" class="text" value="Lorem ipsum" /> Text
<input type="number" class="file" value="1" /> File // <input type="number" class="file" value="1" /> File
<input type="line" class="line" value="2" /> Line // <input type="line" class="line" value="2" /> Line
<input type="submit" value="send" /> // <input type="submit" value="send" />
</form> // </form>
<div class="messages"></div> // <div class="messages"></div>
<script src="/socket.io/socket.io.js"></script> // <script src="/socket.io/socket.io.js"></script>
<script> // <script>
const socket = io('${this.config.domain}/project/${_project.slug}/chat') // const socket = io('${this.config.domain}/project/${_project.slug}/chat')
socket.on('connect', () => // socket.on('connect', () =>
{ // {
console.log('connected') // console.log('connected')
}) // })
// Infos // // Infos
const $infosForm = document.querySelector('.infos-form') // const $infosForm = document.querySelector('.infos-form')
const $name = $infosForm.querySelector('.name') // const $name = $infosForm.querySelector('.name')
$infosForm.addEventListener('submit', (event) => // $infosForm.addEventListener('submit', (event) =>
{ // {
event.preventDefault() // event.preventDefault()
const name = $name.value // const name = $name.value
socket.emit('update_infos', { name }) // socket.emit('update_infos', { name })
}) // })
socket.on('infos', (data) => // socket.on('infos', (data) =>
{ // {
console.log('infos') // console.log('infos')
console.log(data) // console.log(data)
$name.value = data.name // $name.value = data.name
}) // })
// Messages // // Messages
const $messages = document.querySelector('.messages') // const $messages = document.querySelector('.messages')
const $messageForm = document.querySelector('.message-form') // const $messageForm = document.querySelector('.message-form')
const $text = $messageForm.querySelector('.text') // const $text = $messageForm.querySelector('.text')
const $file = $messageForm.querySelector('.file') // const $file = $messageForm.querySelector('.file')
const $line = $messageForm.querySelector('.line') // const $line = $messageForm.querySelector('.line')
$messageForm.addEventListener('submit', (event) => // $messageForm.addEventListener('submit', (event) =>
{ // {
event.preventDefault() // event.preventDefault()
const text = $text.value // const text = $text.value
const file = $file.value // const file = $file.value
const line = $line.value // const line = $line.value
socket.emit('message', { text, file, line }) // socket.emit('message', { text, file, line })
}) // })
socket.on('message', (data) => // socket.on('message', (data) =>
{ // {
console.log('message') // console.log('message')
console.log(data) // console.log(data)
$message = document.createElement('div') // $message = document.createElement('div')
const $author = document.createElement('div') // const $author = document.createElement('div')
$author.style.color = data.user.color // $author.style.color = data.user.color
$author.innerHTML = data.user.name // $author.innerHTML = data.user.name
$message.appendChild($author) // $message.appendChild($author)
const $info = document.createElement('div') // const $info = document.createElement('div')
$info.innerHTML = data.file + ':' + data.line // $info.innerHTML = data.file + ':' + data.line
$message.appendChild($info) // $message.appendChild($info)
const $text = document.createElement('div') // const $text = document.createElement('div')
$text.innerHTML = data.text // $text.innerHTML = data.text
$message.appendChild($text) // $message.appendChild($text)
$messages.appendChild($message) // $messages.appendChild($message)
}) // })
</script> // </script>
`) // `)
}) // })
// Project download route // Project download route
this.express.get('/' + _project.slug + '/download', (request, response) => this.express.get('/' + _project.slug + '/download', (request, response) =>
@@ -215,6 +215,11 @@ class Site
}) })
this.express.use('/' + _project.slug + '/files', express.static(_project.path)) this.express.use('/' + _project.slug + '/files', express.static(_project.path))
this.express.get('/*', (request, response) =>
{
response.sendFile(path.join(__dirname, '../site/dist/index.html'))
})
} }
} }
+206
View File
@@ -163,11 +163,29 @@
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
"integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
}, },
"array-filter": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
"integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=",
"dev": true
},
"array-flatten": { "array-flatten": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
}, },
"array-map": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
"integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=",
"dev": true
},
"array-reduce": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
"integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=",
"dev": true
},
"array-union": { "array-union": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
@@ -2022,6 +2040,16 @@
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true "dev": true
}, },
"define-properties": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
"integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
"dev": true,
"requires": {
"foreach": "2.0.5",
"object-keys": "1.0.11"
}
},
"defined": { "defined": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
@@ -2375,6 +2403,29 @@
"stackframe": "1.0.3" "stackframe": "1.0.3"
} }
}, },
"es-abstract": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.7.0.tgz",
"integrity": "sha1-363ndOAb/Nl/lhgCmMRJyGI/uUw=",
"dev": true,
"requires": {
"es-to-primitive": "1.1.1",
"function-bind": "1.1.0",
"is-callable": "1.1.3",
"is-regex": "1.0.4"
}
},
"es-to-primitive": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
"integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
"dev": true,
"requires": {
"is-callable": "1.1.3",
"is-date-object": "1.0.1",
"is-symbol": "1.0.1"
}
},
"escape-html": { "escape-html": {
"version": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "version": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
@@ -2527,6 +2578,21 @@
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz",
"integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE=" "integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE="
}, },
"event-stream": {
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
"integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
"dev": true,
"requires": {
"duplexer": "0.1.1",
"from": "0.1.7",
"map-stream": "0.1.0",
"pause-stream": "0.0.11",
"split": "0.3.3",
"stream-combiner": "0.0.4",
"through": "2.3.8"
}
},
"eventemitter3": { "eventemitter3": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
@@ -2788,6 +2854,12 @@
"for-in": "1.0.2" "for-in": "1.0.2"
} }
}, },
"foreach": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
"integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
"dev": true
},
"forwarded": { "forwarded": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz",
@@ -2829,6 +2901,12 @@
} }
} }
}, },
"from": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
"integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=",
"dev": true
},
"fs-extra": { "fs-extra": {
"version": "0.26.7", "version": "0.26.7",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz",
@@ -4304,6 +4382,18 @@
"builtin-modules": "1.1.1" "builtin-modules": "1.1.1"
} }
}, },
"is-callable": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz",
"integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=",
"dev": true
},
"is-date-object": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
"dev": true
},
"is-directory": { "is-directory": {
"version": "0.3.1", "version": "0.3.1",
"resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
@@ -4409,6 +4499,15 @@
"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
"dev": true "dev": true
}, },
"is-regex": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
"dev": true,
"requires": {
"has": "1.0.1"
}
},
"is-resolvable": { "is-resolvable": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz",
@@ -4432,6 +4531,12 @@
"html-comment-regex": "1.1.1" "html-comment-regex": "1.1.1"
} }
}, },
"is-symbol": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz",
"integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=",
"dev": true
},
"is-utf8": { "is-utf8": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
@@ -4732,6 +4837,12 @@
"pify": "2.3.0" "pify": "2.3.0"
} }
}, },
"map-stream": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
"integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=",
"dev": true
},
"math-expression-evaluator": { "math-expression-evaluator": {
"version": "1.2.17", "version": "1.2.17",
"resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
@@ -5010,6 +5121,36 @@
"sort-keys": "1.1.2" "sort-keys": "1.1.2"
} }
}, },
"npm-run-all": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.0.2.tgz",
"integrity": "sha1-qEZpNI5ttsy+BSIAtM22v+A0pP4=",
"dev": true,
"requires": {
"chalk": "1.1.3",
"cross-spawn": "5.1.0",
"minimatch": "3.0.4",
"ps-tree": "1.1.0",
"read-pkg": "2.0.0",
"shell-quote": "1.6.1",
"string.prototype.padend": "3.0.0"
},
"dependencies": {
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
"requires": {
"ansi-styles": "2.2.1",
"escape-string-regexp": "1.0.5",
"has-ansi": "2.0.0",
"strip-ansi": "3.0.1",
"supports-color": "2.0.0"
}
}
}
},
"npm-run-path": { "npm-run-path": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
@@ -5047,6 +5188,12 @@
"resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
"integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE="
}, },
"object-keys": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
"integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
"dev": true
},
"object.omit": { "object.omit": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
@@ -5323,6 +5470,15 @@
"pify": "2.3.0" "pify": "2.3.0"
} }
}, },
"pause-stream": {
"version": "0.0.11",
"resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
"integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
"dev": true,
"requires": {
"through": "2.3.8"
}
},
"pbkdf2": { "pbkdf2": {
"version": "3.0.13", "version": "3.0.13",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.13.tgz", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.13.tgz",
@@ -5952,6 +6108,15 @@
"integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=",
"dev": true "dev": true
}, },
"ps-tree": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.1.0.tgz",
"integrity": "sha1-tCGyQUDWID8e08dplrRCewjowBQ=",
"dev": true,
"requires": {
"event-stream": "3.3.4"
}
},
"pseudomap": { "pseudomap": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
@@ -6501,6 +6666,18 @@
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
}, },
"shell-quote": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
"integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
"dev": true,
"requires": {
"array-filter": "0.0.1",
"array-map": "0.0.0",
"array-reduce": "0.0.0",
"jsonify": "0.0.0"
}
},
"shelljs": { "shelljs": {
"version": "0.7.8", "version": "0.7.8",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz",
@@ -6715,6 +6892,15 @@
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
"integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc="
}, },
"split": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
"integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
"dev": true,
"requires": {
"through": "2.3.8"
}
},
"sprintf-js": { "sprintf-js": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
@@ -6741,6 +6927,15 @@
"readable-stream": "2.3.3" "readable-stream": "2.3.3"
} }
}, },
"stream-combiner": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
"integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
"dev": true,
"requires": {
"duplexer": "0.1.1"
}
},
"stream-http": { "stream-http": {
"version": "2.7.2", "version": "2.7.2",
"resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz",
@@ -6808,6 +7003,17 @@
} }
} }
}, },
"string.prototype.padend": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz",
"integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=",
"dev": true,
"requires": {
"define-properties": "1.1.2",
"es-abstract": "1.7.0",
"function-bind": "1.1.0"
}
},
"strip-ansi": { "strip-ansi": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+4 -2
View File
@@ -7,9 +7,10 @@
}, },
"main": "bin/index.js", "main": "bin/index.js",
"scripts": { "scripts": {
"demo-folder": "cd test/demo-folder && node ../../bin 'Demo folder'", "demo-folder": "cd test/demo-folder && node ../../bin 'Demo folder' --open false --test true",
"site-dev": "node site/build/dev-server.js", "site-dev": "node site/build/dev-server.js",
"site-build": "node site/build/build.js" "site-build": "node site/build/build.js",
"dev": "npm-run-all --parallel demo-folder site-dev"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -61,6 +62,7 @@
"friendly-errors-webpack-plugin": "^1.1.3", "friendly-errors-webpack-plugin": "^1.1.3",
"html-webpack-plugin": "^2.28.0", "html-webpack-plugin": "^2.28.0",
"http-proxy-middleware": "^0.17.3", "http-proxy-middleware": "^0.17.3",
"npm-run-all": "^4.0.2",
"opn": "^5.1.0", "opn": "^5.1.0",
"optimize-css-assets-webpack-plugin": "^2.0.0", "optimize-css-assets-webpack-plugin": "^2.0.0",
"ora": "^1.2.0", "ora": "^1.2.0",
+1 -1
View File
@@ -1 +1 @@
<!DOCTYPE html><html><head><meta charset=utf-8><title>site-webpack</title><link href=/static/css/app.35b3c8439d9f204ad02d0aecca6033d6.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.0d777b26cc2d5931f6d2.js></script><script type=text/javascript src=/static/js/app.e08f2f5e11664eb6563e.js></script></body></html> <!DOCTYPE html><html><head><meta charset=utf-8><title>site-webpack</title><link href=/static/css/app.35b3c8439d9f204ad02d0aecca6033d6.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.6efbd02afb95558f3d67.js></script><script type=text/javascript src=/static/js/app.41dd6598c52c03f8841b.js></script></body></html>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
!function(e){function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var r=window.webpackJsonp;window.webpackJsonp=function(t,c,i){for(var u,a,f,s=0,l=[];s<t.length;s++)a=t[s],o[a]&&l.push(o[a][0]),o[a]=0;for(u in c)Object.prototype.hasOwnProperty.call(c,u)&&(e[u]=c[u]);for(r&&r(t,c,i);l.length;)l.shift()();if(i)for(s=0;s<i.length;s++)f=n(n.s=i[s]);return f};var t={},o={1:0};n.e=function(e){function r(){u.onerror=u.onload=null,clearTimeout(a);var n=o[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),o[e]=void 0)}var t=o[e];if(0===t)return new Promise(function(e){e()});if(t)return t[2];var c=new Promise(function(n,r){t=o[e]=[n,r]});t[2]=c;var i=document.getElementsByTagName("head")[0],u=document.createElement("script");u.type="text/javascript",u.charset="utf-8",u.async=!0,u.timeout=12e4,n.nc&&u.setAttribute("nonce",n.nc),u.src=n.p+"static/js/"+e+"."+{0:"e08f2f5e11664eb6563e"}[e]+".js";var a=setTimeout(r,12e4);return u.onerror=u.onload=r,i.appendChild(u),c},n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,r,t){n.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,"a",r),r},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="/",n.oe=function(e){throw console.error(e),e}}([]); !function(e){function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var r=window.webpackJsonp;window.webpackJsonp=function(t,c,i){for(var u,a,f,s=0,l=[];s<t.length;s++)a=t[s],o[a]&&l.push(o[a][0]),o[a]=0;for(u in c)Object.prototype.hasOwnProperty.call(c,u)&&(e[u]=c[u]);for(r&&r(t,c,i);l.length;)l.shift()();if(i)for(s=0;s<i.length;s++)f=n(n.s=i[s]);return f};var t={},o={1:0};n.e=function(e){function r(){u.onerror=u.onload=null,clearTimeout(a);var n=o[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),o[e]=void 0)}var t=o[e];if(0===t)return new Promise(function(e){e()});if(t)return t[2];var c=new Promise(function(n,r){t=o[e]=[n,r]});t[2]=c;var i=document.getElementsByTagName("head")[0],u=document.createElement("script");u.type="text/javascript",u.charset="utf-8",u.async=!0,u.timeout=12e4,n.nc&&u.setAttribute("nonce",n.nc),u.src=n.p+"static/js/"+e+"."+{0:"41dd6598c52c03f8841b"}[e]+".js";var a=setTimeout(r,12e4);return u.onerror=u.onload=r,i.appendChild(u),c},n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,r,t){n.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,"a",r),r},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="/",n.oe=function(e){throw console.error(e),e}}([]);
//# sourceMappingURL=manifest.0d777b26cc2d5931f6d2.js.map //# sourceMappingURL=manifest.6efbd02afb95558f3d67.js.map
File diff suppressed because one or more lines are too long
+8 -2
View File
@@ -7,13 +7,14 @@ export default
data() data()
{ {
return { return {
counter: 0 counter: 0,
projects: { type: Object, value: {} }
} }
}, },
mounted() mounted()
{ {
const socketUrl = `${process.env === 'production' ? '' : 'http://192.168.1.12:1571/projects'}` const socketUrl = `${process.env.NODE_ENV === 'production' ? '' : 'http://localhost:1571'}/projects`
const socket = socketIoClient(socketUrl) const socket = socketIoClient(socketUrl)
socket.on('connect', () => socket.on('connect', () =>
@@ -21,6 +22,11 @@ export default
console.log('connected') console.log('connected')
}) })
socket.on('update_projects', (data) =>
{
this.projects = data.all
})
window.setInterval(() => window.setInterval(() =>
{ {
this.counter++ this.counter++
@@ -1,3 +1,6 @@
<div id="application"> <div id="application">
{{ counter }} {{ counter }}
<div v-for="project in projects">
{{ project.name }}
</div>
</div> </div>