gpt4 book ai didi

angular-cli - ng lint 节点 :internal/process/promises:246

转载 作者:行者123 更新时间:2023-12-01 22:54:29 27 4
gpt4 key购买 nike

我的节点版本是 16.13.0 我使用的是 angular 14
下面是我的package.json

{
"name": "my-project",
"version": "01.06.05",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "node ./replace.build.js && ng serve --open",
"build": "ng lint && node ./replace.build.js && ng build --configuration=production --build-optimizer --optimization --extract-licenses=false",
"publish": "npm run build",
"test": "ng test",
"lint": "ng lint"
},
"private": true,
"dependencies": {
"@angular/animations": "^14.2.0",
"@angular/cdk": "^14.2.0",
"@angular/common": "^14.2.0",
"@angular/core": "^14.2.0",
"@angular/forms": "^14.2.0",
"@angular/material": "^14.2.0",
"@angular/platform-browser": "^14.2.0",
"@angular/platform-browser-dynamic": "^14.2.0",
"@angular/router": "^14.2.0",
"@angular/service-worker": "^14.2.0",
"bootstrap": "^5.2.0",
"highcharts": "^10.2.1",
"hover.css": "^2.3.2",
"lodash-es": "^4.17.21",
"material-design-icons": "^3.0.1",
"mds.persian.datetime": "^1.5.0",
"mermaid": "^9.1.6",
"ngx-markdown": "^14.0.1",
"rxjs": "^7.5.6",
"three": "^0.144.0",
"tslib": "^2.4.0",
"zone.js": "^0.11.8"
},
"devDependencies": {
"@angular-devkit/build-angular": "^14.2.1",
"@angular-eslint/builder": "14.0.3",
"@angular-eslint/eslint-plugin": "14.0.3",
"@angular-eslint/eslint-plugin-template": "14.0.3",
"@angular-eslint/schematics": "14.0.3",
"@angular-eslint/template-parser": "14.0.3",
"@angular/cli": "^14.2.1",
"@angular/compiler": "^14.2.0",
"@angular/compiler-cli": "^14.2.0",
"@angular/language-service": "^14.2.0",
"@angular/localize": "^14.2.0",
"@types/bootstrap": "^5.2.3",
"@types/jasmine": "^4.3.0",
"@types/jasminewd2": "^2.0.10",
"@types/lodash-es": "^4.17.6",
"@types/mermaid": "^8.2.9",
"@types/node": "^18.7.14",
"@types/recordrtc": "^5.6.8",
"@types/three": "^0.144.0",
"@typescript-eslint/eslint-plugin": "5.36.1",
"@typescript-eslint/parser": "5.36.1",
"eslint": "^8.23.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.26.0",
"jasmine-core": "^4.4.0",
"karma": "^6.4.0",
"karma-chrome-launcher": "^3.1.1",
"karma-cli": "^2.0.0",
"karma-coverage": "^2.2.0",
"karma-jasmine": "^5.1.0",
"karma-jasmine-html-reporter": "^2.0.0",
"lodash-extend": "^1.0.13",
"protractor": "^7.0.0",
"replace-in-file": "^6.3.5",
"ts-node": "^10.9.1",
"tslint": "^6.1.3",
"typescript": "~4.8.2"
}
}

我有以下 eslint 配置:

{
"root": true,
"ignorePatterns": [
"projects/**/*"
],
"overrides": [
{
"files": [
"*.ts",
"*.js",
"*.tsx"
],
"parserOptions": {
"project": [
"tsconfig.json"
],
"createDefaultProgram": true
},
"extends": [
"plugin:@angular-eslint/recommended",
"plugin:@angular-eslint/template/process-inline-templates"
],
"rules": {
"@angular-eslint/directive-selector": [
"error",
{
"type": "attribute",
"prefix": "app",
"style": "camelCase"
}
],
"@angular-eslint/component-selector": [
"error",
{
"type": "element",
"prefix": "app",
"style": "kebab-case"
}
],
"indent": [
"error",
2,
{
"SwitchCase": 1
}
],
"@angular-eslint/template/eqeqeq": "off",
"@typescript-eslint/naming-convention": "error",
"@typescript-eslint/explicit-function-return-type": "error",
"quotes": "error",
"semi": "error",
"no-multiple-empty-lines": "error",
"comma-dangle": "error"
}
},
{
"files": [
"*.html",
"*.css"
],
"extends": [
"plugin:@angular-eslint/template/recommended"
],
"rules": {
"@angular-eslint/template/eqeqeq": "off",
"@angular-eslint/template/accessibility-elements-content": "error",
"no-multiple-empty-lines": "error"
}
}
]
}

下面是angular.json:

{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"cli": {
"analytics": false,
"schematicCollections": [
"@angular-eslint/schematics"
]
},
"version": 1,
"newProjectRoot": "projects",
"projects": {
"my-project": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"skipTests": true
},
"@schematics/angular:application": {
"strict": true
}
},
"root": "",
"sourceRoot": "src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist",
"index": "./src/index.html",
"main": "./src/main.ts",
"polyfills": "./src/polyfills.ts",
"tsConfig": "./tsconfig.json",
"assets": [
"./src/assets",
"./src/favicon.ico",
"./src/manifest.json"
],
"styles": [
"./node_modules/@angular/material/prebuilt-themes/indigo-pink.css",
"./node_modules/material-design-icons/iconfont/material-icons.css",
"./node_modules/bootstrap/dist/css/bootstrap.min.css",
"./src/bootstrap-custom.css",
"./node_modules/hover.css/css/hover-min.css",
"./src/materials-custom.css",
"./src/styles.css",
"./src/rtl.css"
],
"scripts": []
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "./src/environments/environment.ts",
"with": "./src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "10kb"
}
],
"serviceWorker": true,
"ngswConfigPath": "ngsw-config.json"
},
"development": {
"buildOptimizer": false,
"optimization": false,
"vendorChunk": true,
"extractLicenses": false,
"sourceMap": true,
"namedChunks": true
}
},
"defaultConfiguration": "production"
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "my-project:build",
"proxyConfig": "./proxy.config.js"
},
"configurations": {
"production": {
"browserTarget": "my-project:build:production"
},
"development": {
"browserTarget": "my-project:build:development"
}
},
"defaultConfiguration": "development"
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "my-project:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "./src/test.ts",
"polyfills": "./src/polyfills.ts",
"tsConfig": "tsconfig.spec.json",
"karmaConfig": "karma.conf.js",
"scripts": [],
"styles": [
"./node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css",
"./node_modules/material-design-icons/iconfont/material-icons.css",
"./node_modules/bootstrap/dist/css/bootstrap.min.css",
"./src/bootstrap-custom.css",
"./node_modules/hover.css/css/hover-min.css",
"./src/materials-custom.css",
"./src/styles.css",
"./src/rtl.css"
],
"assets": [
"./src/assets",
"./src/favicon.ico",
"./src/manifest.json"
]
}
},
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"lintFilePatterns": [
"src/**/*.ts",
"src/**/*.html"
]
}
}
}
}
}
}

当我使用 ng lint 命令时出现以下错误:

node:internal/process/promises:246
triggerUncaughtException(err, true /* fromPromise */);
^

[UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "#<Object>".] {
code: 'ERR_UNHANDLED_REJECTION'
}

我测试卸载一些包,没有变化!
我怎样才能发现问题?我怎样才能发现问题!

最佳答案

有同样的问题。在我的例子中,tsconfig.json 中有尾随逗号。如何获取错误堆栈跟踪:

  1. 使用节点 v16.15+
  2. 再次运行 ng lint 以查看完整的堆栈跟踪,以查看错误

在我的例子中,这是属性缺失错误,因为 compilerOptions 中最后一个选项后有不必要的逗号,配置阅读器认为逗号后应该是另一个具有值的属性。

关于angular-cli - ng lint 节点 :internal/process/promises:246,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73602249/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com