JavaScript权威指南(第七版) 第17章 读书笔记

使用ESlint检查代码和用Prettier格式化代码

        ESlint会根据配置的规则检查代码,查看是否有不合规的lint,并在终端抛出此部分;在修复它指出的问题后,能让代码变得更加清晰且不容易出错。尤其是在排查细微问题时,正确的缩进、===代替==、let代替老旧的var、或是删除定义了但是未使用的变量,这些都能很好的起到帮助的作用。

        但是很多时候lint比较严苛或者吹毛求疵,开发人员对lint这种强制代码格式的做法不是很习惯,更流行的做法是使用类似Prettier类似的工具来自动解析和重新格式化代码。在使用git管理代码时,可以通过eslint或者prettierrc来实现保存时自动格式化代码

使用Jest做单元测试

        JavaScript动态语言的特性,导致编写时可以比较随意的使用或者修改变量,但是在规范性或是代码强壮程度上,变得更多是靠个人的代码习惯。这个时候通过单元测试,就可以验证某一个方法在输出是是否符合预期。

        在方法中使用了网络请求的时候,可以通过jest.mock模拟请求时依赖的模块或是方法,通过mockResolvedValue模拟请求的返回值,通过expect(function).toBe来验证方法的输出是否符合预期。   

jest.mock("./getJSON");
const getJSON = require("./getJSON");

getJSON.mockResolvedValue(0);

使用npm管理和发布依赖包

        在项目中,有两个地方和npm的依赖包息息相关,一个是package.json文件中的dependenciesdevDependencies,另一个是package-lock.json或yarn.lock,yarn和npm一样是管理依赖包的工具。

        devDependencies下的依赖,是在开发过程中会被使用的依赖,通常是编译器或者代码检查工具一类的;dependencies中的,则是在正式环境中会被调用的,比如影响页面渲染的。可以通过install和uninstall管理依赖,install时加上--dev则是代表这是devDependencies下的依赖。

发布npm依赖包时可以参考:

npm的初始化使用

代码打包及使用babel转译

使用webpack打包及babel转译时可参考以下博文:

npm包需要的依赖-CSDN博客

JSX:JavaScript中的标记表达式

        使用react开发时,JSX可以说是避不开部分;JSX语法类似一种新的JavaScript表达式语法,由 < 来定界。在代码中使用JSX语法时,需要babel或类似工具转译,工具会将以下JSX:

        let line = <hr />;

转换为:

        let line = React.createElement("hr", null);

所以也有部分开发者选择直接操作dom元素而不是使用JSX语法。但在元素嵌套元素时,繁琐的dom元素代码无疑让人不喜,相比之下,更近于html元素写法的JSX语法更能让人接受;同时,也能更方便的通过className实现条件渲染。单纯操作dom元素的话,可能就需要jQuery的帮助了。

使用Flow检查类型

        Flow也是一个语言扩展,让我们可以为JavaScript的代码添加类型注解,同时也是一个检查JavaScript代码中类型错误的工具。但是相比于使用Flow检查来说,在新项目上,直接使用TypeScript无疑是更方便的;但是,在老项目或者说在确认了使用JavaScript的时候,想要检查类型,那么还是需要Flow的帮助

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值