Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .firebaserc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"projects": {
"default": "sentimony-db"
}
}
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
node_modules/
.firebase/
.nuxt/
nuxt/
dist/
client/
19 changes: 17 additions & 2 deletions README.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,2 +1,17 @@
# nextclick-theme
Wordpress theme for NextClick blog
# sentimony-site

_Web development of Sentimony Records site_

### Tech

vue, nuxt, firebase ([database](https://sentimony-db.firebaseio.com/.json), storage, hosting, functions), spa, ssr

### Work

`npm setup`

`npm run dev`

`npm run deploy`

#### Have fun! :)
19 changes: 19 additions & 0 deletions firebase.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"hosting": {
"public": "prod/client",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"function": "nuxtssr"
}
]
},
"functions": {
"source": "prod/server"
}
}
182 changes: 182 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 27 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"name": "Nuxt-SSR-Firebase",
"version": "0.1.0",
"description": "Host Nuxt.js SSR app on Firebase Cloud Functions with Firebase Dynamic Hosting.",
"license": "MIT",
"author": "David Royer",
"repository": "https://github.com/davidroyer/nuxt-ssr-firebase",
"scripts": {
"dev": "cd src; npm run dev",
"build": "npm run build:nuxt; npm run clean; npm run copyassets",
"serve": "firebase serve --only functions,hosting",
"deploy": "firebase deploy",
"predeploy": "npm run build",
"setup": "npm i; npm run setup:client; npm run setup:server",
"setup:client": "cd src; npm i",
"setup:server": "cd prod/server; npm i",
"copyassets": "npm run copydist; npm run copystatic",
"copydist": "cp -R prod/server/nuxt/dist/ prod/client/assets",
"copystatic": "cp -R src/static/ prod/client",
"clean": "rimraf prod/client/assets/*",
"build:nuxt": "cd src; npm run build"
},
"devDependencies": {
"cross-env": "^5.0.5",
"rimraf": "^2.6.2"
}
}
26 changes: 26 additions & 0 deletions prod/server/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
const functions = require("firebase-functions");
const { Nuxt } = require("nuxt");
const express = require("express");
const app = express();

const config = {
dev: false,
buildDir: "nuxt",
build: {
publicPath: "/assets/"
}
};
const nuxt = new Nuxt(config);

function handleRequest(req, res) {
// console.log("zagruzilos");
res.set("Cache-Control", "public, max-age=300, s-maxage=600");
return new Promise((resolve, reject) => {
nuxt.render(req, res, promise => {
promise.then(resolve).catch(reject);
});
});
}

app.use(handleRequest);
exports.nuxtssr = functions.https.onRequest(app);
Loading