返回

随手记第二弹,满满干货!

前端

前言

大家好,我是技术博客创作专家,非常高兴再次与大家见面。在上一期随手记中,我分享了一些非常实用的技术技巧,受到了大家的广泛好评。这一期,我将继续为大家带来更多干货,希望对大家有所帮助。

正文

1. 使用VSCode合并多个窗口

VSCode是一款非常强大的文本编辑器,它支持多种编程语言,并且具有丰富的插件生态。在日常开发中,我们经常需要同时打开多个文件或项目。VSCode提供了一种非常便捷的功能,可以将多个窗口合并成一个窗口,这样可以方便我们在不同文件或项目之间快速切换。

要合并多个窗口,只需将鼠标悬停在窗口的标题栏上,然后点击右上角的“合并窗口”按钮即可。合并后的窗口将显示所有打开的文件或项目,并且可以在它们之间快速切换。

2. 解决Apollo-Server-Koa和@koa/cors之间的冲突问题

Apollo-Server-Koa和@koa/cors都是非常流行的Node.js库,它们分别用于构建GraphQL服务器和处理跨域请求。在实际开发中,这两个库可能会发生冲突,导致服务器无法正常运行。

要解决这个问题,我们需要在Apollo-Server-Koa的配置中添加一个选项,如下所示:

const server = new ApolloServer({
  ...
  cors: false,
  ...
});

这样就可以避免两个库之间的冲突,使服务器能够正常运行。

3. 处理QS中URL参数解析错误记录

QS是一个非常流行的Node.js库,它用于解析URL参数。在使用QS解析URL参数时,可能会遇到一些错误记录。这些错误记录通常是由于URL参数格式不正确造成的。

要处理这些错误记录,我们需要在QS的配置中添加一个选项,如下所示:

const query = qs.parse(url, {
  ...
  allowDots: true,
  ...
});

这样就可以避免QS解析URL参数时出现错误记录。

4. 实现深拷贝

深拷贝是指将一个对象的所有属性和值都复制到另一个对象中,并且这两个对象互不影响。在实际开发中,我们经常需要用到深拷贝。

实现深拷贝的方法有很多,其中一种最简单的方法是使用JSON.stringify()和JSON.parse()方法。如下所示:

const obj1 = {
  name: 'John',
  age: 30,
  address: {
    street: '123 Main Street',
    city: 'New York',
    state: 'NY',
  },
};

const obj2 = JSON.parse(JSON.stringify(obj1));

这样就可以将obj1的所有属性和值复制到obj2中,并且这两个对象互不影响。

结语

以上就是本期随手记的内容,希望对大家有所帮助。如果您有任何问题或建议,欢迎随时给我留言。下期再见!