فهرست منبع

Set up app for production - add compression and serve front end from own server

sbkwgh 8 سال پیش
والد
کامیت
fbf022a0b3
3فایلهای تغییر یافته به همراه47 افزوده شده و 0 حذف شده
  1. 37 0
      package-lock.json
  2. 1 0
      package.json
  3. 9 0
      server.js

+ 37 - 0
package-lock.json

@@ -345,6 +345,43 @@
       "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
       "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM="
     },
+    "compressible": {
+      "version": "2.0.11",
+      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.11.tgz",
+      "integrity": "sha1-FnGKdd4oPtjmBAQWJaIGRYZ5fYo=",
+      "requires": {
+        "mime-db": "1.30.0"
+      }
+    },
+    "compression": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.0.tgz",
+      "integrity": "sha1-AwyfGY8WQ6BX13anOOki2kNzAS0=",
+      "requires": {
+        "accepts": "1.3.4",
+        "bytes": "2.5.0",
+        "compressible": "2.0.11",
+        "debug": "2.6.8",
+        "on-headers": "1.0.1",
+        "safe-buffer": "5.1.1",
+        "vary": "1.1.1"
+      },
+      "dependencies": {
+        "bytes": {
+          "version": "2.5.0",
+          "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.5.0.tgz",
+          "integrity": "sha1-TJQj6i0lLCcMQbK97+/5u2tiwGo="
+        },
+        "debug": {
+          "version": "2.6.8",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+          "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        }
+      }
+    },
     "concat-map": {
       "version": "0.0.1",
       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",

+ 1 - 0
package.json

@@ -12,6 +12,7 @@
   "dependencies": {
     "bcryptjs": "^2.4.3",
     "body-parser": "^1.16.0",
+    "compression": "^1.7.0",
     "cross-env": "^3.1.4",
     "express": "^4.14.1",
     "express-session": "^1.15.1",

+ 9 - 0
server.js

@@ -10,6 +10,9 @@ let config = require('./config/server.js')
 let bodyParser = require('body-parser')
 let morgan = require('morgan')
 let expressSession = require('express-session')
+let compression = require('compression')
+
+let path = require('path')
 
 let session = expressSession({
 	secret: config.sessionSecret,
@@ -17,6 +20,7 @@ let session = expressSession({
 	saveUninitialized: true
 })
 
+app.use(compression())
 app.use(bodyParser.json())
 app.use(bodyParser.urlencoded({ extended: true }))
 app.use(session)
@@ -43,6 +47,11 @@ app.use('/api/v1/log', require('./routes/log'))
 app.use('/api/v1/poll', require('./routes/poll'))
 app.use('/api/v1/backup', require('./routes/backup'))
 
+app.use('/static', express.static(path.join(__dirname, 'frontend', 'dist', 'static')))
+app.get('*', (req, res) => {
+	res.sendFile(path.join(__dirname, 'frontend', 'dist', 'index.html'))
+})
+
 function main () {
 	let server = app.listen(config.port, () => {
 		console.log('Listening on ' + config.port)