TSLint object-literal-sort-keys按字母顺序排序,但错误仍然存​​在

时间:2019-08-25 04:26:37

标签: typescript tslint

TSLint向我警告The key 'allowedHeaders' is not sorted alphabetically (object-literal-sort-keys)tslint(1),这是按字母顺序排序的,但tslint坚持认为有错误。

我也不知道如何正确定义回调。

我想念什么?

// Configure CORS
const corsOptions = {
  origin: (origin: string, callback: any) => {
    if (process.env.CORS_WHITELIST && process.env.CORS_WHITELIST.indexOf(origin) !== -1) callback(null, true);
    else callback('Not allowed by CORS');
  },
  allowedHeaders: ['Accept', 'Authorization', 'Content-Length', 'Content-Type', 'X-Requested-With'],
  methods: ['DELETE', 'GET', 'OPTIONS', 'POST', 'PUT'], optionsSuccessStatus: 200,
};

2 个答案:

答案 0 :(得分:0)

我认为这与文字corsOptions的键有关。键option应该放在末尾。

答案 1 :(得分:0)

这与allowedHeader内的字符串值无关,而与corsOptions上的属性有关。关于回调函数,可能的定义是(string, boolean?) => any

这是经过两个更正的类型:

const corsOptions = {
  allowedHeaders: ['Accept', 'Authorization', 'Content-Length', 'Content-Type', 'X-Requested-With'],
  methods: ['DELETE', 'GET', 'OPTIONS', 'POST', 'PUT'], optionsSuccessStatus: 200,
  origin: (origin: string, callback: (error: string, allowed?: boolean) => void) => {
    if (process.env.CORS_WHITELIST && process.env.CORS_WHITELIST.indexOf(origin) !== -1) callback(null, true);
    else callback('Not allowed by CORS');
  }
};