![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端
文章平均质量分 71
许许盛
大家好,我不是运维~
展开
-
js 获取当前环境全局对象
CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客今天读 qiankun 的源码,看到了一段看不懂的代码 Function('return this')(),研究了一下原来是用来获取当前环境的全局对象的。正好整理一下相关的知识,免得忘记。在日常的开发中,前端接触的比较多的就是浏览器环境和 Node 环境,这两个环境中的全局对象是不一样的,业务代码中一般不怎么关心这个,但是如果是写通用的库,如何正确的获取全局对象就很重要了。一般来说,有如下几种方式获取不同环境下的全局对象:原创 2022-01-28 10:47:56 · 1710 阅读 · 0 评论 -
lerna + yarn workspaces 使用备忘
CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客最近学了不少组件化相关的知识,需要编写一些 cli 工具、公共组件之类的,和以往大量的做业务项目,走 CI/CD 容器化部署不同,这类项目不需要容器化部署到某个平台,而是使用 npm publish 来发布。正好学习学习 monorepo 的思想和 lerna 的使用,本文不讲概念,只是记录一下流程,作为个人的备忘录使用,忘记了就再来翻一翻。初始化目录首先创建项目,并安装相应的依赖mkdir my-app &&a原创 2022-01-28 10:44:43 · 2930 阅读 · 0 评论 -
husky + lint-staged 使用备忘
CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客不管是开发什么类型的项目,前端、后端、组件库、工具包等等,只要是用 ts 写,都得配一配各种 hook 来做各种校验,记录一下,方便以后直接抄。一般在代码提交前,使用 eslint、 prettier 、 stylelint 等等各种工具,对当前的代码仓库进行一次格式化,然后在提交时,校验一下 commit message 是否符合 conventional commit 的规范。主要使用以下几个工具:commitlin原创 2022-01-28 10:42:18 · 3457 阅读 · 0 评论 -
ESLint 和 Prettier 配合使用
CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客ESLint 是一款 Lint 工具,包含了代码质量检查等等。而 Prettier 仅仅只是一个代码风格的约束工具,对于代码可能产生的 Bug 等并不关心。虽然说 ESLint 其实也具备一定的代码风格的格式化能力,但是在实践中,我们一般采用 ESlint 来做代码质量的约束,用 Prettier 来做代码风格的约束。那么如何避免两者规则不一致导致的冲突?以及如何将两者更好的整合起来使用呢?规则冲突当 ESLint原创 2022-01-28 10:38:29 · 13906 阅读 · 0 评论 -
引入纯 ESM 模块化的第三方包
CSDN中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客背景今天要做个 CLI 工具,一路调研学习加实践都比较顺利,但是在引入 globby 这个库时,就开始报错了。/Users/xusheng/workspace/test/mit-cli/dist/lib/utils/zip.js:4var globby_1 = require("globby"); ^Error [ERR_REQUIRE_ESM]: require() of ES Modu原创 2022-01-28 10:35:20 · 3932 阅读 · 0 评论 -
使用 eslint 自动调整 import 代码顺序
随着项目代码量的增多,每个 js/ts 文件头部都会有一堆 import 代码。之前都是依赖 webstorm 的自动导入功能,然后手动调整下顺序,将 node_modules 中引入代码和项目目录中的引入代码区分开就行,反正 webstorm 默认打开文件的时候,会把上面的一堆 import 代码给折叠起来。而写 go 的时候,goland 可以自动调用 go fmt ,将 import 部分的代码也优化优化。最近想着把编码规范再制定的细致一点,正好把这个问题也解决下。eslint 自带规原创 2021-05-08 15:05:19 · 9049 阅读 · 0 评论