Angular 无法分配给只读属性';停止即时复制';对象的

Angular 无法分配给只读属性';停止即时复制';对象的,angular,webpack,Angular,Webpack,将@angular/platform browser(和其他@angular/xxx)升级到VersionOne 6.0.4后,我在第一次加载应用程序时以及每次重新加载第一页后都会遇到此错误(第一个F5:错误,第二个F5:工作): NodeInvocationException:无法分配给只读属性 对象“[object]”类型的“stopImmediatePropagation”错误: 无法分配给的只读属性“stopImmediatePropagation” 对象“[对象]”位于 DomEven

将@angular/platform browser(和其他@angular/xxx)升级到VersionOne 6.0.4后,我在第一次加载应用程序时以及每次重新加载第一页后都会遇到此错误(第一个F5:错误,第二个F5:工作):

NodeInvocationException:无法分配给只读属性 对象“[object]”类型的“stopImmediatePropagation”错误: 无法分配给的只读属性“stopImmediatePropagation” 对象“[对象]”位于 DomEventsPlugin.module.exports../node_modules/@angular/platform browser/bundles/platform-browser.umd.js.DomEventsPlugin.patchEvent (I:\Progetti\Platform\Software\CTAgenda\ClientApp\dist\vendor.js:60044:50) 在NewDomeventsplugin (I:\Progetti\Platform\Software\CTAgenda\ClientApp\dist\vendor.js:60031:15) at eval(ng:///AppModule/module.ngfactory.js:51:25) (I:\Progetti\Platform\Software\CTAgenda\ClientApp\dist\vendor.js:40373:28) at_createProviderInstance$1 (I:\Progetti\Platform\Software\CTAgenda\ClientApp\dist\vendor.js:40319:26) 在ResolvingModuleDep (I:\Progetti\Platform\Software\CTAgenda\ClientApp\dist\vendor.js:40282:21) at_createClass (I:\Progetti\Platform\Software\CTAgenda\ClientApp\dist\vendor.js:40346:29) at_createProviderInstance$1 (I:\Progetti\Platform\Software\CTAgenda\ClientApp\dist\vendor.js:40316:26) 在ResolvingModuleDep (I:\Progetti\Platform\Software\CTAgenda\ClientApp\dist\vendor.js:40282:21) at_createClass (I:\Progetti\Platform\Software\CTAgenda\ClientApp\dist\vendor.js:40352:32)

这是my vendor.js中生成错误的代码:

DomEventsPlugin.prototype.patchEvent = function () {
    if (!Event || !Event.prototype) {
        return;
    }
    if (Event.prototype[stopMethodSymbol]) {
        // already patched by zone.js
        return;
    }
    var delegate = Event.prototype[stopMethodSymbol] =
        Event.prototype.stopImmediatePropagation;
    Event.prototype.stopImmediatePropagation = function () { <-- ERROR
        if (this) {
            this[stopSymbol] = true;
        }
        // should call native delegate in case
        // in some environment part of the application
        // will not use the patched Event
        delegate && delegate.apply(this, arguments);
    };
};
感谢您的支持。

尝试更改

DomEventsPlugin.prototype.patchEvent=函数(){
if(!Event | |!Event.prototype){
返回;
}
if(Event.prototype[stopMethodSymbol]){
//已经通过zone.js进行了修补
返回;
}
var delegate=Event.prototype[stopMethodSymbol]=
Event.prototype.stopImmediatePropagation;

Event.prototype[stopMethodSymbol]=function(){在对我的所有包进行全局更新后,所有内容都重新开始工作。其他用户也一样,请检查

My package.json:

"dependencies": {
"@angular/animations": "^6.0.7",
"@angular/common": "^6.0.7",
"@angular/compiler": "^6.0.7",
"@angular/core": "^6.0.7",
"@angular/forms": "^6.0.7",
"@angular/http": "^6.0.7",
"@angular/platform-browser": "^6.0.7",
"@angular/platform-browser-dynamic": "^6.0.7",
"@angular/platform-server": "^6.0.7",
"@angular/router": "^6.0.7",
"@ng-bootstrap/ng-bootstrap": "^2.2.0",
"aspnet-prerendering": "^3.0.1",
"aspnet-webpack": "^3.0.0",
"bootstrap": "^4.1.1",
"css": "2.2.3",
"es6-shim": "0.35.3",
"event-source-polyfill": "0.0.12",
"jquery": "3.3.1",
"jwt-decode": "^2.2.0",
"material-design-icons": "^3.0.1",
"moment": "^2.22.2",
"ngx-toastr": "^8.8.0",
"nodemailer": "^4.6.7",
"popper.js": "^1.14.3",
"preboot": "6.0.0-beta.4",
"reflect-metadata": "0.1.12",
"rxjs": "^6.2.1",
"stacktrace-js": "^2.0.0",
"zone.js": "^0.8.26"
},
"devDependencies": {
"@angular/cli": "^6.0.8",
"@angular/compiler-cli": "^6.0.7",
"@angular/language-service": "^6.0.7",
"@ngtools/webpack": "^6.0.8",
"@types/chai": "4.1.4",
"@types/jasmine": "2.8.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "^10.5.1",
"@types/stacktrace-js": "0.0.32",
"@types/webpack-env": "^1.13.6",
"angular-router-loader": "^0.8.5",
"angular2-template-loader": "^0.6.2",
"chai": "4.1.2",
"codelyzer": "^4.4.2",
"css-loader": "^0.28.11",
"file-loader": "^1.1.11",
"html-loader": "^0.5.5",
"jasmine": "^3.1.0",
"jasmine-core": "3.1.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "2.0.4",
"karma-chai": "0.1.0",
"karma-chrome-launcher": "2.2.0",
"karma-cli": "1.0.1",
"karma-coverage-istanbul-reporter": "^2.0.1",
"karma-jasmine": "1.1.2",
"karma-jasmine-html-reporter": "^1.2.0",
"karma-webpack": "^3.0.0",
"mini-css-extract-plugin": "^0.4.1",
"ng-router-loader": "^2.1.0",
"protractor": "~5.3.2",
"style-loader": "^0.21.0",
"to-string-loader": "^1.1.5",
"ts-loader": "^4.4.2",
"ts-node": "~7.0.0",
"tslint": "^5.10.0",
"typescript": "^2.7.2",
"uglifyjs-webpack-plugin": "^1.2.7",
"url-loader": "^1.0.1",
"webpack": "^4.14.0",
"webpack-bundle-analyzer": "^2.13.1",
"webpack-cli": "^3.0.8",
"webpack-dev-middleware": "^3.1.3",
"webpack-hot-middleware": "^2.22.2",
"webpack-merge": "^4.1.3"
}

您是否也将rxjs库更新为6?是的,我也更新了:6.2.0我也面临同样的错误。我唯一能建议的是,错误可能是由于区域。jsI找不到当前代码和您的代码之间的任何差异。您能告诉我您是否已更改任何内容以获得它吗working@BlackMamba,Event.prototype.stopImmediatePropagation更改关于Event.prototype[stopMethodSymbol]1.有帮助me@BlackMamba,这个解决方案对我来说是可行的,但是我想知道是否有更可靠的方法,因为这意味着手动修改vendor.js文件另一个解决方案是在GitHub问题中,在本地下载angular universal repo,然后将源代码转移到那里。这对我也有效。@ghego1
"dependencies": {
"@angular/animations": "^6.0.7",
"@angular/common": "^6.0.7",
"@angular/compiler": "^6.0.7",
"@angular/core": "^6.0.7",
"@angular/forms": "^6.0.7",
"@angular/http": "^6.0.7",
"@angular/platform-browser": "^6.0.7",
"@angular/platform-browser-dynamic": "^6.0.7",
"@angular/platform-server": "^6.0.7",
"@angular/router": "^6.0.7",
"@ng-bootstrap/ng-bootstrap": "^2.2.0",
"aspnet-prerendering": "^3.0.1",
"aspnet-webpack": "^3.0.0",
"bootstrap": "^4.1.1",
"css": "2.2.3",
"es6-shim": "0.35.3",
"event-source-polyfill": "0.0.12",
"jquery": "3.3.1",
"jwt-decode": "^2.2.0",
"material-design-icons": "^3.0.1",
"moment": "^2.22.2",
"ngx-toastr": "^8.8.0",
"nodemailer": "^4.6.7",
"popper.js": "^1.14.3",
"preboot": "6.0.0-beta.4",
"reflect-metadata": "0.1.12",
"rxjs": "^6.2.1",
"stacktrace-js": "^2.0.0",
"zone.js": "^0.8.26"
},
"devDependencies": {
"@angular/cli": "^6.0.8",
"@angular/compiler-cli": "^6.0.7",
"@angular/language-service": "^6.0.7",
"@ngtools/webpack": "^6.0.8",
"@types/chai": "4.1.4",
"@types/jasmine": "2.8.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "^10.5.1",
"@types/stacktrace-js": "0.0.32",
"@types/webpack-env": "^1.13.6",
"angular-router-loader": "^0.8.5",
"angular2-template-loader": "^0.6.2",
"chai": "4.1.2",
"codelyzer": "^4.4.2",
"css-loader": "^0.28.11",
"file-loader": "^1.1.11",
"html-loader": "^0.5.5",
"jasmine": "^3.1.0",
"jasmine-core": "3.1.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "2.0.4",
"karma-chai": "0.1.0",
"karma-chrome-launcher": "2.2.0",
"karma-cli": "1.0.1",
"karma-coverage-istanbul-reporter": "^2.0.1",
"karma-jasmine": "1.1.2",
"karma-jasmine-html-reporter": "^1.2.0",
"karma-webpack": "^3.0.0",
"mini-css-extract-plugin": "^0.4.1",
"ng-router-loader": "^2.1.0",
"protractor": "~5.3.2",
"style-loader": "^0.21.0",
"to-string-loader": "^1.1.5",
"ts-loader": "^4.4.2",
"ts-node": "~7.0.0",
"tslint": "^5.10.0",
"typescript": "^2.7.2",
"uglifyjs-webpack-plugin": "^1.2.7",
"url-loader": "^1.0.1",
"webpack": "^4.14.0",
"webpack-bundle-analyzer": "^2.13.1",
"webpack-cli": "^3.0.8",
"webpack-dev-middleware": "^3.1.3",
"webpack-hot-middleware": "^2.22.2",
"webpack-merge": "^4.1.3"
}