TSLint - 防止错误:密钥未按字母顺序排序
Posted
技术标签:
【中文标题】TSLint - 防止错误:密钥未按字母顺序排序【英文标题】:TSLint - Preventing error: The key is not sorted alphabetically 【发布时间】:2018-01-29 06:24:51 【问题描述】:我正在使用 Ionic2 / Cordova / Typescript / Angular 做一个测试应用程序。 我正在使用 tslint 5.6.0。
我正在使用以下模块: https://www.npmjs.com/package/tslint
只关注一个文件...
检查以下文件时:
import NgModule, ErrorHandler from "@angular/core";
import BrowserModule from "@angular/platform-browser";
import IonicApp, IonicModule, IonicErrorHandler from "ionic-angular";
import MyApp from "./app.component";
import AboutPage from "../pages/about/about";
import ContactPage from "../pages/contact/contact";
import HomePage from "../pages/home/home";
import TabsPage from "../pages/tabs/tabs";
import StatusBar from "@ionic-native/status-bar";
import SplashScreen from "@ionic-native/splash-screen";
@NgModule(
declarations: [
MyApp,
AboutPage,
ContactPage,
HomePage,
TabsPage,
],
imports: [
BrowserModule,
IonicModule.forRoot( MyApp ),
],
bootstrap: [ IonicApp ],
entryComponents: [
MyApp,
AboutPage,
ContactPage,
HomePage,
TabsPage,
],
providers: [
StatusBar,
SplashScreen,
provide: ErrorHandler, useClass: IonicErrorHandler ,
],
)
export class AppModule
我明白了:
The key 'bootstrap' is not sorted alphabetically
RuleFailurePosition position: 790, lineAndCharacter: line: 25, character: 4
RuleFailurePosition position: 799, lineAndCharacter: line: 25, character: 13
我正在使用以下选项:
"extends": "tslint:recommended",
"rules":
"no-duplicate-variable": true,
"max-line-length":
"options": [120]
,
"ordered-imports": false,
"new-parens": true,
"no-arg": true,
"no-bitwise": true,
"no-conditional-assignment": true,
"no-consecutive-blank-lines": false,
"no-console":
"options": [
"debug",
"info",
"log",
"time",
"timeEnd",
"trace"
]
,
"jsRules":
"max-line-length":
"options": [120]
我需要在 TSLint 上配置什么选项来防止出现此错误?
【问题讨论】:
你想配置 tslint 不显示这个错误吗?或者如何更改代码以遵守 tslint 规则? 我要不要配置 tslint 不显示这个错误 【参考方案1】:这里失败的规则似乎是object-literal-sort-keys。
您应该能够在配置文件的 rules 部分中禁用它,方法是添加:
"object-literal-sort-keys": false
你可以找到所有tslint规则here。
【讨论】:
【参考方案2】:对于任何从 javascript 迁移到 TypeScript 的人,或者只是拥有 javascript + typescriptm 的混合代码库的人,您也可以在“jsRules”中定义此规则,即消除此错误,当您在 javascript(不是打字稿文件)中定义了控制台语句。
//tslint.json
"extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"],
"rules":
"object-literal-sort-keys": false //Disable for typescript
,
"jsRules":
"object-literal-sort-keys": false //Disable for javascript
【讨论】:
以上是关于TSLint - 防止错误:密钥未按字母顺序排序的主要内容,如果未能解决你的问题,请参考以下文章