您的位置  > 互联网

是什么?是一款支持,CSS,JSON和独立代码格式器

为什么要使用它? 在多人项目中,定义一套大家都同意并标准化的规则是非常耗时的。 即使配置了很多规则,后期强行统一一套风格对于团队来说也是非常分散注意力的。 它可以自动格式化代码,以统一格式和排版。 ==开发者应该关注真正的问题== - 作者翻译

如何使用安装依赖项

1npm

配置.json

:{

'':" --write '**/*.{js,css,md}' "

手动执行命令

1npm

格式化效果

10

11

12

13

14

15

16

17 号

18

19

20

21//格式化前

(道具) {

超级(道具)

this.state = { : '', vin: "", : "" };

= {

//不推荐,设置页面导航标题:“违规查询”,

title: '违规查询', itle: "返回",: true //是否支持滑动返回手势,iOS默认支持,默认关闭

};

//格式化后

(道具) {

超级(道具);

this.state = { : "", vin: "", : "" };

= {

//不推荐,设置页面导航标题:“违规查询”,

title: “违规查询”,

标题:“返回”,

: true //是否支持滑动返回手势,iOS默认支持,默认关闭

};

可以看到代码会自动格式化,默认添加分号,代码会缩进,行宽过长会自动分行; 我们在开发阶段完全不需要担心这些格式问题,而且从代码结构上团队的代码风格可以完全统一。 一致性。

配合使用--插件安装配置

10

11

12

13npm ---保存-dev

//修订。

“”:[“”],

“规则”:{

“/”:[

“错误”,

““: 真的

============如果项目是全局安装的==========那么也需要全局安装,否则会报错==

执行命令。 - 使固定

然后检查你的代码,发现/中设置的代码检测项会根据配置的方法自动修正,比如将所有双引号格式化为单引号(因为默认是格式化为双引号。)

正常情况下,配置的规则已经在项目中使用了。 此时,为了不影响已配置的项目,可以重新设置相应的检测项目; 参数列表参考地址-》官方地址

以下是我使用的配置参数:

10

11

12

13

14

15“规则”:{

“/”:[

“错误”,

: 100,//设置单行字符数

: 4,//缩进空格数

semi: true,//该行代码后面是否需要生成分号?

: "none", //是否要在数组后面的最后一个索引处添加逗号?

: false,//是否需要将双引号格式化为单引号?

: true,//在对象字面量声明中使用的大括号({)之后和(})之前输出空格

: true,//在多行JSX元素的最后一行末尾添加>,使>成为单独的一行(不适用于自闭合和元素)

:'avoid',//给单行箭头函数的参数添加括号

引入预

现在! 经过上面的配置,我们就可以在项目修复的同时得到格式统一的代码了,但是不要怀疑团队开发人员的懒惰,==不要相信大家都执行了代码才提交。 – 修复==

接下来我们需要引入 pre- 在代码提交之前自动完成这一步。

安装 npm i 预安装

修改.json1

7//添加以下配置,以便可以通过npm:js调用--fix自动修复命令

“”:{

"lint:js": ".--修复"

},

“前”:[

“棉绒:js”

然后我们在项目中尝试一下代码。 如果有测试失败,我们可以在命令行查询相关信息并中断提交过程。

10

11

12

13

14

15

16

17 号

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46$ git -m '提交代码检测工具' -a

`{“”:“避免”}`。

`{“”:“避免”}`。

`{“”:“避免”}`。

`{“”:“避免”}`。

`{“”:“避免”}`。

`{“”:“避免”}`。

`{“”:“避免”}`。

`{“”:“避免”}`。

`{“”:“避免”}`。

`{“”:“避免”}`。

/Users/admin//rn-speed-/rn-app/index.js

1:7 错误 '' 是一个值但从未使用过 no--vars

2:7 错误 'delay' 是一个值但从未使用过 no--vars

/Users/admin//rn-speed-/rn-app/lib/.js

33:41 错误“数组”但从未使用过 no--vars

73:5 错误“”是无功能的

73:25 错误“”是无功能的

73:48 错误“”是无功能的

94:9 case 块中出现错误 no-case-

94:9 case 块中出现错误 no-case-

110:9 case 块中出现错误 no-case-

/Users/admin//rn-speed-/rn-app/sdk/toast.js

13:35 错误 '' 是但从未使用过 no--vars

/Users/admin//rn-speed-/src//.js

1:8 错误“React”但从未使用过 no--vars

2:10 错误“图像”但从未使用过 no--vars

/Users/admin//rn-speed-/src/index.js

8:8 错误 '' 是但从未使用过 no--vars

✖ 35 (35, 0)

前:

pre-:我们必须将 git pre-hooks 作为 `lint:js` 传递

pre-:挂钩退出代码 (1)。 如果你是你可以

pre-:通过标志跳过 git pre-hooks 到您的:

前:

前:git -n(或--no-)

前:

前:这是病态的。

前:

- 成功!

上述方法进行后续优化的原理是通过pre-hook在提交之前执行命令。 如果检测到未发送代码规则,则返回1,导致git失败; 但每次执行时都会扫描整个文件。 ++== 事实上,每次,你只需要检测改变的文件==++

解决方案: Husky:可以让你通过npm轻松调用各种git hooks。

lint-:利用git的特性,可以提取出本次提交的变更文件,并只处理这些文件。

10

11//单独安装依赖模块

npm husky --save-dev

npm lint--save-dev

//在.json中配置pre-hook任务

“”:{

"": "lint-"//这个值不能改变。 这是 husky 默认的 pre-hook 任务名称。

},

“棉绒-”:{

"*.{js,json,css}": [" --write", "git add"]

至此项目就可以自动化了,大家可以尝试一下

参考: