Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度通用+;网页包4:引用错误:未定义窗口_Angular_Webpack_Angular Universal - Fatal编程技术网

Angular 角度通用+;网页包4:引用错误:未定义窗口

Angular 角度通用+;网页包4:引用错误:未定义窗口,angular,webpack,angular-universal,Angular,Webpack,Angular Universal,我有一个angular 9 universal应用程序是使用创建的,在项目编译成功后,我得到了这个错误 /Users/lribeiro/Sites/builders/dist/apps/landingpages-public/browser/main.js:1 (window["webpackJsonp"] = window["webpackJsonp"] || []).push([["main"],{ ^ ReferenceErro

我有一个angular 9 universal应用程序是使用创建的,在项目编译成功后,我得到了这个错误

/Users/lribeiro/Sites/builders/dist/apps/landingpages-public/browser/main.js:1
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["main"],{
^

ReferenceError: window is not defined
    at Object.<anonymous> (/Users/lribeiro/Sites/builders/dist/apps/landingpages-public/browser/main.js:1:1)
    at Module._compile (internal/modules/cjs/loader.js:1201:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1221:10)
    at Module.load (internal/modules/cjs/loader.js:1050:32)
    at Function.Module._load (internal/modules/cjs/loader.js:938:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47

A server error has occurred.
node exited with 1 code.
这是我的服务器

import 'zone.js/dist/zone-node';

import {ngExpressEngine} from '@nguniversal/express-engine';
import * as express from 'express';
import {join} from 'path';

import {AppServerModule} from './src/main.server';
import {APP_BASE_HREF} from '@angular/common';
import {readFileSync} from 'fs';

const DIST_FOLDER = join(process.cwd(), 'dist/apps/landingpages-public/browser');
const template = readFileSync(join(DIST_FOLDER, 'index.html'));
const domino = require('domino');

const win= domino.createWindow(template);

global['window'] = win;
global['document'] = win.document;
global['CSS'] = null;
global['navigator'] = win.navigator;
console.log(global['window'])

export function app() {
  const server = express();

  server.engine('html', ngExpressEngine({
    bootstrap: AppServerModule,
  }));

  server.set('view engine', 'html');
  server.set('views', DIST_FOLDER);
  server.engine('html', require('hogan-express'));

  server.get('*.*', express.static(DIST_FOLDER, {
    maxAge: '1y'
  }));

  // All regular routes use the Universal engine
  server.get('*', async (req, res) => {
    res.render(template, {req, "providers": [{provide: APP_BASE_HREF, useValue: req.baseUrl}], 'title': 'title'});
  });

  return server;
}

function run() {
  const PORT = process.env.PORT || 4000;

  const server = app();
  server.listen(PORT, () => {
    console.log(`Node express server listening on http://localhost:${PORT}`);
  });
}

declare const __non_webpack_require__: NodeRequire;
const mainModule = __non_webpack_require__.main;
const moduleFilename = mainModule && mainModule.filename || '';
if (moduleFilename === __filename || moduleFilename.includes('iisnode')) {
  run();
}

export * from './src/main.server';
我使用Angular CLI制作了另一个项目,该项目基于具有相同配置的。这可能是因为我使用的依赖关系吗


谢谢

我已经找到了解决办法

基本上,我在构建过程中更改了serverTarget和browserTarget

"serve-ssr": {
      "builder": "@nguniversal/builders:ssr-dev-server",
      "options": {
        "serverTarget":  "landingpages-public:server",
        "browserTarget": "landingpages-public:build"
      }
},

我已经找到了解决办法

基本上,我在构建过程中更改了serverTarget和browserTarget

"serve-ssr": {
      "builder": "@nguniversal/builders:ssr-dev-server",
      "options": {
        "serverTarget":  "landingpages-public:server",
        "browserTarget": "landingpages-public:build"
      }
},

有没有可能像@shadowman_93那样在网上操场上传你的项目?恐怕不行。该项目作为一些依赖项,仅使用VPN可用。对不起,你可以在网上的游乐场上传你的项目吗?比如@shadowman_93,恐怕不行。该项目作为一些依赖项,仅使用VPN可用。很抱歉