【问题标题】:ERROR in TypeError: Cannot read property 'match' of undefinedTypeError 中的错误:无法读取未定义的属性“匹配”
【发布时间】:2023-04-08 05:38:01
【问题描述】:

我正在尝试为 Angular 2 项目创建生产版本。我在 ng-build -prod 命令中遇到了这个错误..

来自命令 **ng build -prod.**

的日志
ERROR in TypeError: Cannot read property 'match' of undefined

suppress-entry-chunks-webpack-plugin.js:40 filterFn
[Angular_whiskey]/[@angular]/cli/plugins/suppress-entry-chunks-webpack-plugin.js:40:91

Array.filter

suppress-entry-chunks-webpack-plugin.js:42 Compilation.compilation.plugin
[Angular_whiskey]/[@angular]/cli/plugins/suppress-entry-chunks-webpack-plugin.js:42:59

Tapable.js:208 Compilation.applyPluginsAsyncWaterfall
[Angular_whiskey]/[tapable]/lib/Tapable.js:208:13

util.js:16 Compilation.tryCatcher
[Angular_whiskey]/[bluebird]/js/release/util.js:16:23

index.js:642
[Angular_whiskey]/[html-webpack-plugin]/index.js:642:12

index.js:152
[Angular_whiskey]/[html-webpack-plugin]/index.js:152:16

util.js:16 tryCatcher
[Angular_whiskey]/[bluebird]/js/release/util.js:16:23

promise.js:512 Promise._settlePromiseFromHandler
[Angular_whiskey]/[bluebird]/js/release/promise.js:512:31

promise.js:569 Promise._settlePromise
[Angular_whiskey]/[bluebird]/js/release/promise.js:569:18

promise.js:614 Promise._settlePromise0
[Angular_whiskey]/[bluebird]/js/release/promise.js:614:10

promise.js:693 Promise._settlePromises
[Angular_whiskey]/[bluebird]/js/release/promise.js:693:18

async.js:133 Async._drainQueue
[Angular_whiskey]/[bluebird]/js/release/async.js:133:16

async.js:143 Async._drainQueues
[Angular_whiskey]/[bluebird]/js/release/async.js:143:10

async.js:17 Immediate.Async.drainQueues
[Angular_whiskey]/[bluebird]/js/release/async.js:17:14

通过 ng-serve 在本地部署应用程序可以正常工作。但是,ng build -prod 没有。任何帮助将不胜感激。我认为我的角度包之间存在版本不匹配。

版本。

@angular/cli: 1.0.0-rc.4
node: 7.0.0
os: win32 x64
@angular/cli: 1.0.0-rc.4
@angular/common: 2.4.7
@angular/compiler: 2.4.7
@angular/core: 2.4.7
@angular/forms: 2.4.7
@angular/http: 2.4.7
@angular/platform-browser: 2.4.7
@angular/platform-browser-dynamic: 2.4.7
@angular/router: 3.4.7
@angular/compiler-cli: 4.0.0-rc.5
@ngtools/webpack: 1.2.14

重现步骤。

ng build -prod

package.json

{
"name": "angular-whiskey",
"version": "0.0.0",
"license": "MIT",
"angular-cli": {},
"scripts": {
"start": "node server.js",
"lint": "tslint "src/**/*.ts"",
"test": "ng test",
"pree2e": "webdriver-manager update",
"e2e": "protractor",
"postinstall": "ng build --aot -prod"
},
"private": true,
"engines": {
"node": "7.0.0",
"npm": "4.4.1"
},
"dependencies": {
"@angular/cli": "^1.0.0-rc.2",
"@angular/common": "2.4.7",
"@angular/compiler": "2.4.7",
"@angular/core": "2.4.7",
"@angular/forms": "2.4.7",
"@angular/http": "2.4.7",
"@angular/platform-browser": "2.4.7",
"@angular/platform-browser-dynamic": "2.4.7",
"@angular/router": "3.4.7",
"@ng-bootstrap/ng-bootstrap": "^1.0.0-alpha.20",
"@ngtools/webpack": "^1.2.4",
"@types/core-js": "^0.9.37",
"@types/jasmine": "^2.5.38",
"@types/node": "^6.0.65",
"angularfire2": "^2.0.0-beta.7-pre",
"auth0-lock": "^10.13.0",
"bootstrap": "^3.3.7",
"core-js": "^2.4.1",
"express": "^4.15.2",
"firebase": "^3.7.1",
"ng2-bootstrap": "^1.4.0",
"rxjs": "5.0.0-beta.12",
"ts-helpers": "^1.1.1",
"typescript": "2.2.1",
"zone.js": "^0.6.23"
},
"devDependencies": {
"@angular/cli": "^1.0.0-rc.4",
"@angular/compiler-cli": "4.0.0-rc.5",
"@types/core-js": "^0.9.34",
"@types/jasmine": "^2.2.30",
"@types/node": "^6.0.42",
"codelyzer": "1.0.0-beta.1",
"jasmine-core": "2.4.1",
"jasmine-spec-reporter": "2.5.0",
"karma": "1.2.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-jasmine": "^1.0.2",
"karma-remap-istanbul": "^0.2.1",
"node-sass": "^3.10.1",
"protractor": "4.0.9",
"raw-loader": "^0.5.1",
"sass-loader": "^4.0.2",
"ts-node": "1.2.1",
"tslint": "3.13.0",
"typescript": "~2.0.3",
"webdriver-manager": "10.2.5"
}
}

【问题讨论】:

    标签: javascript node.js angular typescript webpack


    【解决方案1】:

    TypeError 中的错误:无法读取未定义的属性“匹配”

    这不是您的代码中的错误。这是suppress-entry-chunks-webpack-plugin.js:40 filterFn中的一个错误

    向 Angular 团队提出问题 ? ([Angular_whiskey]/[@angular]/cli/plugins/suppress-entry-chunks-webpack-plugin.js)

    【讨论】:

      【解决方案2】:

      我在运行ng eject --prod 后遇到了这个问题。从'entry' 中删除'styles' 入口点使错误消失。幸好我还没用。

      虽然不知道路线原因。这是该插件的来源:https://github.com/angular/angular-cli/blob/master/packages/%40angular/cli/plugins/suppress-entry-chunks-webpack-plugin.ts

      【讨论】:

        猜你喜欢
        • 2022-01-05
        • 2022-01-01
        • 2022-07-06
        • 1970-01-01
        • 2018-08-16
        • 2017-11-20
        • 1970-01-01
        • 1970-01-01
        • 2021-02-13
        相关资源
        最近更新 更多