在create-react-app项目下,使用eslinit和prettier美化代码

parser: ‘babel-eslint’,

parserOptions: {

ecmaFeatures: {

jsx: true

}

},

plugins: [‘react’],

rules: {

‘no-console’: process.env.NODE_ENV === ‘production’ ? ‘warn’ : ‘off’,

‘no-debugger’: process.env.NODE_ENV === ‘production’ ? ‘warn’ : ‘off’,

}

}

2. 安装 prettier 相关

2.1 运行 npm i -D prettier eslint-config-prettier

2.2 新建 .prettierrc.js

module.exports = {

// 使能每一种语言默认格式化规则

‘[html]’: {

‘editor.defaultFormatter’: ‘esbenp.prettier-vscode’

},

‘[css]’: {

‘editor.defaultFormatter’: ‘esbenp.prettier-vscode’

},

‘[less]’: {

‘editor.defaultFormatter’: ‘esbenp.prettier-vscode’

},

‘[javascript]’: {

‘editor.defaultFormatter’: ‘esbenp.prettier-vscode’

},

printWidth: 120,

trailingComma: ‘none’,

jsxBracketSameLine: true,

/* prettier的配置 */

printWidth: 100, // 超过最大值换行

tabWidth: 2, // 缩进字节数

useTabs: false, // 缩进不使用tab,使用空格

semi: true, // 句尾添加分号

singleQuote: true, // 使用单引号代替双引号

proseWrap: ‘preserve’, // 默认值。因为使用了一些折行敏感型的渲染器(如GitHub comment)而按照markdown文本样式进行折行

arrowParens: ‘avoid’, // (x) => {} 箭头函数参数只有一个时是否要有小括号。avoid:省略括号

bracketSpacing: true, // 在对象,数组括号与文字之间加空格 “{ foo: bar }”

//‘prettier.disableLanguages’: [‘vue’], // 不格式化vue文件,vue文件的格式化单独设置

endOfLine: ‘auto’, // 结尾是 \n \r \n\r auto

// eslintIntegration: false, //不让prettier使用eslint的代码格式进行校验

‘prettier.htmlWhitespaceSensitivity’: ‘ignore’,

‘prettier.ignorePath’: ‘.prettierignore’, // 不使用prettier格式化的文件填写在项目的.prettierignore文件中

jsxBracketSameLine: false, // 在jsx中把’>’ 是否单独放一行

jsxSingleQuote: false // 在jsx中使用单引号代替双引号

//parser: ‘babylon’, // 格式化的解析器,默认是babylon

//requireConfig: false, // Require a ‘prettierconfig’ to format prettier

//stylelintIntegration: false, //不让prettier使用stylelint的代码格式进行校验

//trailingComma: ‘es5’, // 在对象或数组最后一个元素后面是否加逗号(在ES5中加尾逗号)

//tslintIntegration: false, // 不让prettier使用tslint的代码格式进行校验

};

注:如果使用.eslintrc.js进行配置的话,要把配置的代码写在

module.exports = {

}

当中,如上面的配置。如果采用 .prettierrc文件进行配置,则需要写成JSON格式:

{

“jsxSingleQuote”: true,

“printWidth”: 120,

“tabWidth”: 2,

“semi”: true,

“singleQuote”: true,

“trailingComma”: “none”,

“jsxBracketSameLine”: true

}

3. 配置 Pre-commit Hook git 提交前格式化和检查代码

3.1 运行 npm i -D lint-staged husky

4. 修改package.json

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

{

“scripts”: {

“lint”: “eslint --ext .js src”,

“lint:fix”: “eslint --fix --ext .js src”,

“lint-staged”: “lint-staged”,

“lint-staged:js”: “eslint --ext .js src”,

“format”: “prettier --write ./src///**/*.js”

},

“lint-staged”: {

“**/*.js”: [

“prettier --write”,

“git add”

],

“**/*.js”: “npm run lint-staged:js”

}

}

使用编辑器插件


vscode

在用户设置setting.json中添加

{

“prettier.eslintIntegration”: true,

“editor.formatOnSave”: true, // 保存自动格式化

“eslint.autoFixOnSave”: true // 保存自动检查代码

}

配置完成以后,由于新下载的eslint插件与create-react-app脚手架自带的eslinit可能会存在版本上的差异,当运行项目的时候,或许会产生如下的错误:

出现这个错误以后的解决方式是:

1、在node_modules依赖包当中找到eslinit这个文件夹删除;

2、在文件package.json当中删除

3、重新下载eslinit安装包,这个安装包的版本要与create-react-app脚手架自带的eslinit版本保持一致,

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
img

最后

整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》

前端面试题宝典

前端校招面试题详解

2017724974)]

最后

整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。

CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

《前端基础面试题》,《前端校招面试题精编解析大全》,《前端面试题宝典》,《前端面试题:常用算法》

[外链图片转存中…(img-zFB51C7O-1712017724974)]

[外链图片转存中…(img-8F113L6W-1712017724974)]

[外链图片转存中…(img-HiURfimr-1712017724974)]

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值