随笔分类 - JavaScript && Node.js
摘要:TypeScript代码的编译过程一直以来会给很多小伙伴造成困扰,typescript官方提供tsc对ts代码进行编译,babel也表示能够编译ts代码,它们二者的区别是什么?我们应该选择哪种方案?为什么IDE打开ts项目的时候,就能有这些ts代码的类型定义?为什么明明IDE对代码标红报错,但代码有
阅读全文
摘要:最近在做一款轻量级IM产品,后端技术栈框架使用了nodejs + nestjs作为服务端。同时,还需要满足一个服务同时支持HTTP服务调用以及WebSocket服务调用,此文主要记录本次搭建过程,以及基本的服务端设计。 基本环境搭建 node v14.17.5 nestjs 全局命令行工具(npm
阅读全文
摘要:只要接触过ts的前端同学都能回答出ts是js超集,它具备静态类型分析,能够根据类型在静态代码的解析过程中对ts代码进行类型检查,从而在保证类型的一致性。那,现在让你对你的webpack项目(其实任意类型的项目都同理)加入ts,你知道怎么做吗?带着这个问题,我们由浅入深,逐步介绍TypeScript、
阅读全文
摘要:当我们编写node原生模块的时候,免不了对node-gyp项目进行命名,在node-gyp进行build的时候,会跟binding.gyp配置文件中的target_name生成对应的原生模块。但是,如果target_name填写不规范,会触发编译问题。 问题与解决 本人发现,当target_name
阅读全文
摘要:通过样例,让我们了解如何编写一个node的原生模块。当然,这篇文章还有一个目的,是为了方便以后编写关于node-gyp的文章,搭建初始环境。 基于node-addon-api 基于node-addon-api的nodejs插件,使用的是node的头文件:#include <node.h>。 hell
阅读全文
摘要:当我们安装node的C/C原生模块时,涉及到使用node-gyp对C/C原生模块的编译工作(configure、build)。这个过程,需要nodejs的头文件以及静态库参与(后续称库文件)对C/C++项目编译和链接。库文件从哪里下载,会有一定逻辑进行处理,本文将从源码入手进行分析。 编写简单的原生
阅读全文
摘要:node-gyp的作用我已经不想赘述了,这里给一个我之前文章的链接:cnblogs看这里,知乎看这里。本文主要从源码入手,介绍node-gyp查找VisualStudio的过程 为了方便我们研究node-gyp的源码,我们随意创建一个node项目,然后我们npm install node-gyp,安
阅读全文
摘要:前言 Electron作为一款跨平台的桌面应用端解决方案已经风靡全球。作为开发者,我们几乎不用关心与操作系统的交互,直接通过Web前端技术与Electron提供的API就可以完成桌面应用端的开发。 然而,为什么国内使用Electron的踩坑文章数不胜数,主要原因是Electron为了支持跨平台,为不
阅读全文
摘要:title: node-pre-gyp以及node-gyp的源码简单解析(以安装sqlite3为例) date: 2020-11-27 tags: node native sqlite3 前言 简单来说,node是跨平台的,那么对于任何的node模块理论也是应该是跨平台的。然而,有些node模块直接
阅读全文
摘要:Node环境搭建 本文假定你完成了nodejs的环境基础搭建: 镜像配置(暂时只配置node包镜像源,部分包的二进制镜像源后续讨论)、全局以及缓存路径配置,全局路径加入到了环境变量 $ node -v v12.18.1 $ npm -v 6.14.5 $ yarn -v 1.22.4 $ npm l
阅读全文