📝 Added sandbox (code sketchbook)
This commit is contained in:
parent
b475595f7f
commit
b5daf18b1a
142 changed files with 100702 additions and 0 deletions
20
sandbox/vue_sse/vue_sse_back/README.md
Normal file
20
sandbox/vue_sse/vue_sse_back/README.md
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
### A Very Basic Set Up for Server Side Events Using Node/ExpressJS
|
||||
|
||||
This very basic project is a set up to scaffold a working backend in
|
||||
Node/ExpressJS for server side events.
|
||||
|
||||
It is a small adjustment to [Hussein Nasser's youtube video on the topic](https://www.youtube.com/watch?v=4HlNv1qpZFY).
|
||||
|
||||
__Installing and Getting Started__
|
||||
```
|
||||
git clone <this_repo_url>
|
||||
```
|
||||
```
|
||||
cd <this_repo_name>
|
||||
```
|
||||
```
|
||||
npm install
|
||||
```
|
||||
```
|
||||
npm run start
|
||||
```
|
||||
44
sandbox/vue_sse/vue_sse_back/index.js
Normal file
44
sandbox/vue_sse/vue_sse_back/index.js
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
const express = require('express')
|
||||
const route = express.Router()
|
||||
const app = express()
|
||||
// const bodyParser = require('body-parser')
|
||||
const path = require('path')
|
||||
const cors = require('cors')
|
||||
|
||||
// middleware
|
||||
app.use(
|
||||
cors({
|
||||
origin: true,
|
||||
credentials: true,
|
||||
}),
|
||||
)
|
||||
// app.use(bodyParser.urlencoded({ extended: false }))
|
||||
// app.use(express.static(path.join(__dirname, 'public')))
|
||||
// may not be necessary...
|
||||
// app.use(express.json())
|
||||
|
||||
// routes
|
||||
// route.get('/', (req, res) =>
|
||||
// res.sendFile(__dirname + '/index.html'))
|
||||
|
||||
app.get('/stream', (req, res) => {
|
||||
console.log('Client Connected')
|
||||
res.setHeader('Content-Type', 'text/event-stream')
|
||||
// res.setHeader('Access-Control-Allow-Origin', '*')
|
||||
let i = 0
|
||||
const intervalId = setInterval(() => {
|
||||
// const date = new Date().toLocaleString()
|
||||
// res.write(`data: ${date}\n\n`)
|
||||
res.write(`data: hello: ${i++}\n\n`)
|
||||
}, 1000)
|
||||
|
||||
res.on('close', () => {
|
||||
console.log('Client closed connection')
|
||||
clearInterval(intervalId)
|
||||
res.end()
|
||||
})
|
||||
// send(res)
|
||||
})
|
||||
|
||||
// server
|
||||
app.listen(8080, () => console.log('listening on 8080'))
|
||||
1693
sandbox/vue_sse/vue_sse_back/package-lock.json
generated
Normal file
1693
sandbox/vue_sse/vue_sse_back/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
18
sandbox/vue_sse/vue_sse_back/package.json
Normal file
18
sandbox/vue_sse/vue_sse_back/package.json
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"name": "node_sse",
|
||||
"version": "1.0.0",
|
||||
"description": "small sse for educational purposes",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"start": "nodemon index.js"
|
||||
},
|
||||
"author": "tomit4",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"cors": "^2.8.5",
|
||||
"express": "^4.18.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^2.0.22"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue