Skip to content

ReferenceError: self is not defined #1746

Closed
@mazlano27

Description

@mazlano27

[REQUIRED] Describe your environment

  • Operating System version: Mac OS 10
  • Browser version: Chrome 74
  • Firebase SDK version: 5.11.0
  • Firebase Product: auth, database, storage

[REQUIRED] Describe the problem

After updating to firebase 5.11.0 => I get the error:

Screenshot 2019-05-02 at 9 29 50 PM

Steps to reproduce:

Run pre-render script after updating to firebase 5.11.0
Angular 7 Project

My npm script:
"ng build --prod --stats-json && ng run myDayPwaApp:server && npm run webpack:prerender && npm run build:prerender",

"webpack:prerender": "webpack --config webpack.prerender.config.js",
"build:prerender": "node dist/myDayPwaApp/prerender.js"

and inside prerender.js =>

`// Load zone.js for the server.
import 'zone.js/dist/zone-node';
import 'reflect-metadata';

import {join, resolve} from 'path';

(global as any).WebSocket = require('ws');
(global as any).XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest;

import {enableProdMode} from '@angular/core';

// Import module map for lazy loading
import {provideModuleMap} from '@nguniversal/module-map-ngfactory-loader';
import {renderModuleFactory} from '@angular/platform-server';

import * as fs from 'fs-extra';

// Add routes manually that you need rendered
const ROUTES = [
'/',
'/auth/login',
'/auth/register',
'/auth/forgotten-password'
];

const APP_NAME = 'myDayPwaApp';

// leave this as require(), imported via webpack
const {
AppServerModuleNgFactory,
LAZY_MODULE_MAP
} = require(./dist/${APP_NAME}-server/main);

enableProdMode();

async function prerender() {
// Get the app index
const browserBuild = dist/${APP_NAME};
const index = await fs.readFile(join(browserBuild, 'index.html'), 'utf8');

// Loop over each route
for (const route of ROUTES) {
const pageDir = join(browserBuild, route);
await fs.ensureDir(pageDir);

// Render with Universal
const html = await renderModuleFactory(AppServerModuleNgFactory, {
  document: index,
  url: route,
  extraProviders: [provideModuleMap(LAZY_MODULE_MAP)]
});

await fs.writeFile(join(pageDir, 'index.html'), html);

}

await fs.copySync(resolve(dist/${APP_NAME}/index.html), dist/${APP_NAME}/404.html);

console.log('done');
process.exit();
}

prerender();
`

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions