@trilon/universal-ssr-mocks
v1.0.0
Published
---
Downloads
177
Keywords
Readme
Create Node Global Mocks - Angular Universal
Installation
Install & save the library to your package.json:
$ npm i -S @trilon/universal-ssr-mocks
Modules Available
createGlobalMocks
Note: Breaking changes: Renamed to
createGlobalMocks
. In@trilon/ng-universal
v2+ there was a breaking change, and this method has now been introduced as its own npm package to avoid domino being bundled in client angular bundles.
Mock Window & Document in Node to prevent "window undefined" Node errors. Remember these globals don't exist in the Node platform, so it's important to Mock them and fill them with your app skeleton html (utilizing Domino), otherwise 3rd party libraries (and even your own code), can cause errors during a server-side render.
In your server.ts
file, grab your template
(html) and pass it into the createGlobalMocks utility to populate your Node globals for window|document.
import { createGlobalMocks } from '@trilon/universal-ssr-mocks';
// Make sure you grab wherever your index.html is, we want to use that html as a -base- for Domino
const template = readFileSync(join(DIST_FOLDER, 'Your_CLI_Project_Name', 'index.html')).toString();
createGlobalMocks(template);
You can additionally pass in more globals for window or document incase you need to patch/mock other things such as $
from jQuery / etc.
createWindowMocks(template, /* additional window mocks*/ {
$: {},
someOtherWindowProp: {}
})
License
Copyright (c) 2019 Trilon
Trilon Consulting
JavaScript, Node, NestJS Consulting from Open-Source Fanatics and Key Contributors!
Check out Trilon.io for more info!
Contact us at [email protected], and let's talk about your projects needs.