fly63前端网

www.fly63.com

首页文章资源工具教程 栏目
  • 关于我们
  • 网站投稿
  • 赞助一下
搜索

在线工具_工作生活好帮手

打造各种简单、易用、便捷的在线工具,网友无需注册和下载安装即可使用

点击查看

关闭

提交网站

tink
分享
复制链接
新浪微博
QQ 好友

扫一扫分享

GitHub:https://github.com/npm/tink
网站描述:npm 出品的下一代包管理器

npm 出品的下一代包管理器 ,能够更好处理 node package 的依赖关系


Tink 特性

Tink 能做什么呢?那就是你不用再自己调用 Node 了,调用 Tink 就行,Tink 有一个名为 shell 的子命令,负责打包 Node,加些补丁,然后就可以生成一个叫 Virtual node_modules 的神奇产物了。

Virtual node_modules 有几大特性:

  1. 因为 Tink 是一个运行时包管理器,所以它基本上不再需要物理 Node 模块了,同时并不需要改动模块加载器或者包中的 api。包可以像往常一样访问文件系统,所以就能和之前的配置等细节完全兼容。

  2. 既然 Node 模块不存在了,那么文件都去哪儿了呢?Tink 把文件都保存在了类似 npm 那样的单一全局缓存里,然后通过哈希算法来清除所有重复数据。因为使用了哈希算法,所以 Tink 不用再存储重复的内容。就算你的一个项目有 5 个历史版本,Tink 也只会存储原始版本和每次更新的内容,大大节约了存储空间,同时优化了数据读写的性能表现。

  3. 既然现在包管理集成到了运行时中,那么当你需要依赖项的时候就不用再手动获取了,Tink 会自动根据需要下载所需的依赖项,完全不用你再操心了。你不需要的依赖项它也不会下载,你需要的依赖项它都能预先下载好。Tink 还设置了一种机制,防止管理器随机下载一些其实你用不到的内容。

  4. 这也就意味着你不用再操心 npm 包安装流程了。你只需要 Tink Add、Tink Move 就能安装、卸载包,后面有什么过程都会自动完成。如果你的同事推上来什么内容,你只需要拉下来就可以直接运行,具体的细节 Tink 都为你打点好了。这可是一项巨大的改进,值得掌声鼓励。

有人可能会担心,把 fs 也打包起来不是很危险吗?其实我们不觉得这有什么,因为 Electron 就是这么干的!他们在这方面很有一套,我们也会学习他们的经验,所以这并不是什么大问题。其实 Tink 的一些相关代码就是直接从 Electron 过来的,我还做了一些调整和改进。


其他特性

除了上面提到的这些,Tink 还带来了其他一些很棒的特性,包括:

  1. 作为运行时包管理器,Tink 直接提供了对 TypeScript 、ESM、Wasm 和 JX 的支持!

  2. Tink 从全局缓存中加载依赖文件时会实时做校验,大大提升了安全性。

  3. 运行 Tink 时,如果你缺少某些依赖项,或者缓存中的某个文件已经损坏,那么 Tink 会自动为你下载并安装这些文件,自动修复你的依赖项。在生产流程中可以关闭这个选项,但在项目开发过程中这个功能非常方便,我也很喜欢它。

  4. 最后也是我最喜欢的特性:所有这些功能都是开箱即用的,无需专门配置,也用不着额外安装任何内容。这里要强调一下,所有这些特性都不需要任何类型的加载器,不需要额外的调整选项;webpack 之类的内容都能直接使用。你需要做的只不过是安装并运行 Tink,然后一切就自动部署妥当了。


链接: https://fly63.com/nav/1992

more>>
相关栏目
webpack
webpack 是一个模块打包器。它的主要目标是将 JavaScript 文件打包在一起
官网GitHub
npm
javascript 最流行的包管理器
官网GitHub
yarn
可替代NPM的快速、可靠、安全的可信赖包管理工具Yarn
官网GitHub
bower
解决js的依赖管理
官网GitHub
grunt
基于Node.js的项目构建工具。它可以自动运行你所设定的任务
官网GitHub
Parcel
快速,零配置的 Web 应用程序打包器
官网GitHub
babel
Babel 是一个 JavaScript 编译器,可用下一代JavaScript 语法写代码
官网GitHub
browserify
一个浏览器端代码模块化工具,require和module.exports来导入和导出.Browserify的原理:部署时处理代码依赖,将模块打包为一个文件。
官网GitHub
HEAD
一份你可以在 <head> 里设置的列表
官网GitHub
Snibox
一个可自建托管的代码片段管理器
官网GitHub
Flow
Facebook 推出一个静态类型检测工具
官网GitHub
WeFlow
一个高效、强大、跨平台的前端开发工作流工具
官网GitHub
Athena
前端自动化流程构建工具
官网GitHub
Cooking
更易上手的前端构建工具
官网GitHub
vue-cli
一个基于 Vue.js 进行快速开发的完整系统
官网GitHub
Turborepo
一个用于 JavaScript 和 TypeScript monorepos 的高性能构建系统
官网GitHub

手机预览