全部文章
共 1306 篇文章
pnpm workspace的常用命令
什么是 pnpm? 是新一代的包管理工具,号称是 最先进的包管理器 。按照官网说法,可以实现 节约磁盘空间并提升安装速度 和 创建非扁平化的 node modules 文件夹 两大目标,具体原理可以参考 。 如何使用pnpm? 全局安装pnpm menorepo工程项目结构 其中 为工作区目录,里面可创建多个项目,项目里面需包含 文件, 里的 为项目名需要必填 可以自定义 目录,默认为packages下的所有子目录。 为所有包安装依赖...
lerna 还是 pnpm + changesets
monorepo 是多个包在同一个项目中管理的方式,是很流行的项目组织形式。 主流的开源包基本都是用 monorepo 的形式管理的。 为什么用 monorepo 也很容易理解: 比如 babel 分为了 @babel/core、@babel/cli、@babel/parser、@babel/traverse、@babel/generator 等一系列包。 如果每个包单独一个仓库,那就有十多个 git 仓库,这些 git 仓库每个都要单...
moduleResolution 总结
模块化之争的在 ESM 标准出来的时候已成为定局,这两年前端界也在进行 ESM 大迁移。关于 ESM 个人感觉可以聊的并不多,最近讨论最多的可能还是到底该不该用 default import 以及它俩互相转换的各种坑。前不久 TS 发布了 5.0,引入了新的 moduleResolution: 。官方文档对此的描述非常简单,阅读完本文,你会对它的产生有更深刻的理解。 什么是 moduleResolution 当我们讨论 模块化标准 (对...
实现一个打包时将CSS注入到JS的Vite插件
在2.0版本提供了 Library Mode (库模式),让开发者可以使用 来构建自己的库以发布使用。正好我准备封装一个React组件并将其发布为npm包以供日后方便使用,同时之前也体验到了使用 带来的快速体验,于是便使用 进行开发。 背景 在开发完成后进行打包,出现了如图三个文件: <img width="690" height="158" src="../../ resources/v2 3a15022b380b8b6f3e2750...
nrm的使用(安装、配置、查看、切换、增加、删除、测试
nrm nrm(npm registry manager)是npm的镜像管理工具,有时候国外的资源太慢,使用这个就可以快速地在npm源间切换。 安装nrm 在命令行执行命令, ,全局安装nrm。 使用 一般来说,在终端直接运行基础命令,可以看到该命令的解析,使用方法。 查看当前源 执行命令 查看可选的源。其中带 号的是当前使用的源,下图表明当前源为rh。 或者直接使用 命令,也可以查看当前源。 切换 如果要切换到taobao源,执行命令...
declare module '*.module.less' {
declare module ' .module.less' { const classes: { readonly \[key: string\]: string }; export default classes; }
基于 Node.js 的轻量级私有仓库 Verdaccio
Verdaccio 一、简介 1\. 什么是 Verdaccio “一个基于 Node.js 的轻量级私有仓库”。 平时使用 npm publish 进行发布时,上传的仓库默认地址是 npm,通过 Verdaccio 工具在本地新建一个仓库地址,再把本地的默认上传仓库地址切换到本地仓库地址即可。当 npm install 时没有找到本地的仓库,则 Verdaccio 默认配置中会从 npm 中央仓库下载。 Verdaccio 表示意大利...
Electron应用的打包和自动更新
生成图标 在打包应用之前,要为应用准备一个图标,作为安装包图标。不同的操作系统所需图标的格式不同,Mac对应的格式为 ,Windows对应的格式为 。 图标的生成可以借助 。 首先,准备一张 图片,将图片放在项目文件夹中,我们这里选择放在 中。 <img width="756" height="63" src="../../ resources/c55e1a0e45ca47c0a34e14bc5de5f74f 51ca0fdf61234...
electron修改默认安装目录nsis配置
oneClick: 是否创建一键式安装程序。如果为 true,则默认为所有用户安装;如果为 false,则需要根据 perMachine 参数来决定是否安装至所有用户。 perMachine: 仅当 oneClick 为 false 时有效。是否显示安装模式页面(选择每台机器还是每个用户),默认为 false(即显示)。 allowElevation: 仅在 assisted installer 下有效。允许请求提权,默认为 true。...