Я установил в текущем проекте angular universall@5.0.0 Но когда я запускаю проект node server.js
, он показывает ошибку
>/Users/qfrost/Projects/project/node_modules/rxjs/util/assign.js:22
return root.Object.assign || assignImpl;
^
**TypeError**: Cannot read property 'assign' of undefined
at getAssign
>(/Users/qfrost/Projects/project/node_modules/rxjs/util/assign.js:22:24)
at Object.<anonymous> (/Users/qfrost/Projects/project/node_modules/rxjs/util/assign.js:25:18)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/Users/qfrost/Projects/project/node_modules/rxjs/observable/dom/WebSocketSubject.js:15:16)
Это мои пакеты:
{
"name": "client",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"build:browser": "ng build --prod --app 0",
"build:server": "ng build --prod --app 1 --output-hashing none",
"build": "npm run build:browser && npm run build:server",
"serve": "node server.js"
},
"private": true,
"dependencies": {
"@angular/animations": "^5.2.11",
"@angular/cdk": "^5.1.1",
"@angular/common": "^5.0.0",
"@angular/compiler": "^5.0.0",
"@angular/core": "^5.0.0",
"@angular/forms": "^5.0.0",
"@angular/http": "^5.0.0",
"@angular/material": "^5.1.1",
"@angular/platform-browser": "^5.0.0",
"@angular/platform-browser-dynamic": "^5.0.0",
"@angular/platform-server": "^6.1.7",
"@angular/router": "^5.0.0",
"@ngrx/core": "^1.2.0",
"@ngrx/store": "^4.1.0",
"@nguniversal/express-engine": "^5.0.0",
"@nicky-lenaers/ngx-scroll-to": "^0.6.1",
"@toverux/ngx-sweetalert2": "^4.0.0",
"angular-read-more": "^1.0.7",
"animate-sass": "^0.8.2",
"bootstrap": "^4.0.0-alpha.6",
"core-js": "^2.4.1",
"fullpage.js": "^3.0.2",
"hammerjs": "^2.0.8",
"jquery": "^3.3.1",
"ng2-scroll-to-el": "^1.2.1",
"ngx-bootstrap": "^2.0.3",
"ngx-carousel": "^1.3.5",
"ngx-disqus": "^2.3.7",
"ngx-fullpage": "^4.0.6",
"ngx-highlight": "0.0.3",
"ngx-slick": "^0.1.3",
"reselect": "^3.0.1",
"rxjs": "^5.5.2",
"slick-carousel": "^1.8.1",
"sweetalert2": "^7.22.2",
"zone.js": "^0.8.14"
},
"devDependencies": {
"@angular/cli": "1.5.0",
"@angular/compiler-cli": "^5.0.0",
"@angular/language-service": "^5.0.0",
"@types/jasmine": "~2.5.53",
"@types/jasminewd2": "~2.0.2",
"@types/jquery": "^3.3.5",
"@types/node": "~6.0.60",
"codelyzer": "~3.2.0",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.2",
"ts-node": "~3.2.0",
"tslint": "~5.7.0",
"typescript": "~2.4.2"
}
}
Мой server.js
require('zone.js/dist/zone-node');
const domino = require('domino');
const fs = require('fs');
const path = require('path');
const template = fs.readFileSync(path.join(__dirname, '.', 'dist-browser', 'index.html')).toString();
const win = domino.createWindow(template);
global['Event'] = null;
global['window'] = win;
const express = require('express');
const { ngExpressEngine } = require('@nguniversal/express-engine');
// create express app
const app = express();
// import server module bundle
var { ServerAppModuleNgFactory } = require('./dist-server/main.bundle');
// set up engine for .html file
app.engine('html', ngExpressEngine({
bootstrap: ServerAppModuleNgFactory
}));
app.set('view engine', 'html');
app.set('views', 'dist-browser');
// server static files
app.use(express.static(__dirname + '/dist-browser', { index: false }));
// return rendered index.html on every request
app.get('*', (req, res) => {
res.render('index', { req, res });
console.log('new GET request at : ${req.originalUrl}');
});
// start server and listen
app.listen(3000, () => {
console.log('Angular server started on port 3000');
});
Угловой CLI - это сборка server
и browser
dists.Но сервер не запустился.Как я могу решить эту проблему?