Browse Source

remove SSR

master
Quildra 1 year ago
parent
commit
035e024ffe
  1. 7
      angular.json
  2. 36
      package-lock.json
  3. 7
      package.json
  4. 57
      server.ts
  5. 7
      src/main.server.ts
  6. 4
      tsconfig.app.json

7
angular.json

@ -29,12 +29,7 @@
"styles": [ "styles": [
"src/styles.css" "src/styles.css"
], ],
"scripts": [], "scripts": []
"server": "src/main.server.ts",
"prerender": true,
"ssr": {
"entry": "server.ts"
}
}, },
"configurations": { "configurations": {
"production": { "production": {

36
package-lock.json

@ -15,10 +15,7 @@
"@angular/forms": "^18.1.0", "@angular/forms": "^18.1.0",
"@angular/platform-browser": "^18.1.0", "@angular/platform-browser": "^18.1.0",
"@angular/platform-browser-dynamic": "^18.1.0", "@angular/platform-browser-dynamic": "^18.1.0",
"@angular/platform-server": "^18.1.0",
"@angular/router": "^18.1.0", "@angular/router": "^18.1.0",
"@angular/ssr": "^18.1.0",
"express": "^4.18.2",
"rxjs": "~7.8.0", "rxjs": "~7.8.0",
"tslib": "^2.3.0", "tslib": "^2.3.0",
"zone.js": "~0.14.3" "zone.js": "~0.14.3"
@ -27,7 +24,6 @@
"@angular-devkit/build-angular": "^18.1.0", "@angular-devkit/build-angular": "^18.1.0",
"@angular/cli": "^18.1.0", "@angular/cli": "^18.1.0",
"@angular/compiler-cli": "^18.1.0", "@angular/compiler-cli": "^18.1.0",
"@types/express": "^4.17.17",
"@types/jasmine": "~5.1.0", "@types/jasmine": "~5.1.0",
"@types/node": "^18.18.0", "@types/node": "^18.18.0",
"jasmine-core": "~5.1.0", "jasmine-core": "~5.1.0",
@ -509,25 +505,6 @@
"@angular/platform-browser": "18.1.0" "@angular/platform-browser": "18.1.0"
} }
}, },
"node_modules/@angular/platform-server": {
"version": "18.1.0",
"resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-18.1.0.tgz",
"integrity": "sha512-7JSkgw9HXnfiy4XcJKrIGEl4SXoqeJmoajN0KfMCZwbGcuakM/t0lkD3JwyueAcYUlTPBdZQuqgxs3SIT52v3A==",
"dependencies": {
"tslib": "^2.3.0",
"xhr2": "^0.2.0"
},
"engines": {
"node": "^18.19.1 || ^20.11.1 || >=22.0.0"
},
"peerDependencies": {
"@angular/animations": "18.1.0",
"@angular/common": "18.1.0",
"@angular/compiler": "18.1.0",
"@angular/core": "18.1.0",
"@angular/platform-browser": "18.1.0"
}
},
"node_modules/@angular/router": { "node_modules/@angular/router": {
"version": "18.1.0", "version": "18.1.0",
"resolved": "https://registry.npmjs.org/@angular/router/-/router-18.1.0.tgz", "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.1.0.tgz",
@ -545,19 +522,6 @@
"rxjs": "^6.5.3 || ^7.4.0" "rxjs": "^6.5.3 || ^7.4.0"
} }
}, },
"node_modules/@angular/ssr": {
"version": "18.1.0",
"resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-18.1.0.tgz",
"integrity": "sha512-xj052pB9J0rk9oZiYCQIC7tRHFyR0KewuACZZQGS+Vdop4e/uuikP7/RY9nruHjznb/iIW+M5ZtjCAHTpGY1BA==",
"dependencies": {
"critters": "0.0.24",
"tslib": "^2.3.0"
},
"peerDependencies": {
"@angular/common": "^18.0.0",
"@angular/core": "^18.0.0"
}
},
"node_modules/@babel/code-frame": { "node_modules/@babel/code-frame": {
"version": "7.24.7", "version": "7.24.7",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",

7
package.json

@ -6,8 +6,7 @@
"start": "ng serve", "start": "ng serve",
"build": "ng build", "build": "ng build",
"watch": "ng build --watch --configuration development", "watch": "ng build --watch --configuration development",
"test": "ng test", "test": "ng test"
"serve:ssr:jedi-archive-frontend": "node dist/jedi-archive-frontend/server/server.mjs"
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
@ -18,10 +17,7 @@
"@angular/forms": "^18.1.0", "@angular/forms": "^18.1.0",
"@angular/platform-browser": "^18.1.0", "@angular/platform-browser": "^18.1.0",
"@angular/platform-browser-dynamic": "^18.1.0", "@angular/platform-browser-dynamic": "^18.1.0",
"@angular/platform-server": "^18.1.0",
"@angular/router": "^18.1.0", "@angular/router": "^18.1.0",
"@angular/ssr": "^18.1.0",
"express": "^4.18.2",
"rxjs": "~7.8.0", "rxjs": "~7.8.0",
"tslib": "^2.3.0", "tslib": "^2.3.0",
"zone.js": "~0.14.3" "zone.js": "~0.14.3"
@ -30,7 +26,6 @@
"@angular-devkit/build-angular": "^18.1.0", "@angular-devkit/build-angular": "^18.1.0",
"@angular/cli": "^18.1.0", "@angular/cli": "^18.1.0",
"@angular/compiler-cli": "^18.1.0", "@angular/compiler-cli": "^18.1.0",
"@types/express": "^4.17.17",
"@types/jasmine": "~5.1.0", "@types/jasmine": "~5.1.0",
"@types/node": "^18.18.0", "@types/node": "^18.18.0",
"jasmine-core": "~5.1.0", "jasmine-core": "~5.1.0",

57
server.ts

@ -1,57 +0,0 @@
import { APP_BASE_HREF } from '@angular/common';
import { CommonEngine } from '@angular/ssr';
import express from 'express';
import { fileURLToPath } from 'node:url';
import { dirname, join, resolve } from 'node:path';
import bootstrap from './src/main.server';
// The Express app is exported so that it can be used by serverless Functions.
export function app(): express.Express {
const server = express();
const serverDistFolder = dirname(fileURLToPath(import.meta.url));
const browserDistFolder = resolve(serverDistFolder, '../browser');
const indexHtml = join(serverDistFolder, 'index.server.html');
const commonEngine = new CommonEngine();
server.set('view engine', 'html');
server.set('views', browserDistFolder);
// Example Express Rest API endpoints
// server.get('/api/**', (req, res) => { });
// Serve static files from /browser
server.get('**', express.static(browserDistFolder, {
maxAge: '1y',
index: 'index.html',
}));
// All regular routes use the Angular engine
server.get('**', (req, res, next) => {
const { protocol, originalUrl, baseUrl, headers } = req;
commonEngine
.render({
bootstrap,
documentFilePath: indexHtml,
url: `${protocol}://${headers.host}${originalUrl}`,
publicPath: browserDistFolder,
providers: [{ provide: APP_BASE_HREF, useValue: baseUrl }],
})
.then((html) => res.send(html))
.catch((err) => next(err));
});
return server;
}
function run(): void {
const port = process.env['PORT'] || 4000;
// Start up the Node server
const server = app();
server.listen(port, () => {
console.log(`Node Express server listening on http://localhost:${port}`);
});
}
run();

7
src/main.server.ts

@ -1,7 +0,0 @@
import { bootstrapApplication } from '@angular/platform-browser';
import { AppComponent } from './app/app.component';
import { config } from './app/app.config.server';
const bootstrap = () => bootstrapApplication(AppComponent, config);
export default bootstrap;

4
tsconfig.app.json

@ -9,9 +9,7 @@
] ]
}, },
"files": [ "files": [
"src/main.ts", "src/main.ts"
"src/main.server.ts",
"server.ts"
], ],
"include": [ "include": [
"src/**/*.d.ts" "src/**/*.d.ts"

Loading…
Cancel
Save