首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TSLint:有序导入配置

TSLint:有序导入配置
EN

Stack Overflow用户
提问于 2019-06-04 18:17:45
回答 2查看 3K关注 0票数 11

我正在尝试配置我的TSLint规则ordered-imports,使导入顺序如下所示:

代码语言:javascript
复制
// React
import React from 'react';
import { View } from 'react-native';

// Libs
import * as _ from 'lodash';
import * as moment from 'moment';

// Internal libs
import Bar from '@app/bar';
import Foo from '@app/foo';

// Relative paths
import { Element } from './my-element';
import MyFunction from './my-function';

这是我试图创建的规则,但我仍然无法达到上述规则的效果。

除了react之外,我似乎不能匹配绝对导入,我已经尝试使用null以及像^!react这样的非react match,但它不起作用。

这是我的规则

代码语言:javascript
复制
{
  "ordered-imports": [
      true,
      {
        "module-source-path": "full",
        "grouped-imports": true,
        "groups": [
          {
            "name": "react",
            "match": "^react",
            "order": 1
          },
          {
            "name": "node_modules",
            "match": null,
            "order": 2
          },
          {
            "name": "internal modules",
            "match": "^@app",
            "order": 3
          },
          {
            "name": "relative dir",
            "match": "^[.]",
            "order": 4
          }
        ]
      }
    ]
}

有人能帮我找出我做错了什么吗?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2019-06-15 22:29:00

这对你有效吗?

代码语言:javascript
复制
{
  "rules": {
    "ordered-imports": [
      true,
      {
        "module-source-path": "full",
        "grouped-imports": true,
        "groups": [
          {
            "name": "react",
            "match": "^react.*",
            "order": 1
          },
          {
            "name": "internal modules",
            "match": "^@app.*",
            "order": 3
          },
          {
            "name": "relative dir",
            "match": "^[.].*",
            "order": 4
          },
          {
            "name": "node_modules",
            "match": ".*",
            "order": 2
          }
        ]
      }
    ]
  }
}

两个变化:

  • 将'null‘匹配器移到了列表的末尾,因此只有当没有其他匹配器时,它才会被匹配。
  • 将null添加到所有匹配器的末尾。

‍♂️

票数 13
EN

Stack Overflow用户

发布于 2019-08-19 22:01:05

代码语言:javascript
复制
 "groups": [
      { "name": "react", "match": "^react.*", "order": 1 },
      { "name": "pacakges", "match": "^app.*", "order": 20 },
      { "name": "components", "match": "^@.*", "order": 30 },
      { "name": "parent_dir", "match": "^\\.\\.", "order": 40 },
      { "name": "current_dir", "match": "^\\.", "order": 50 },
      { "name": "extra", "match": ".*", "order": 5 }
    ]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56441891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档