首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端开发工具集:开源项目助力效率起飞 | 开源专题 No.101

使用提取器声明式地解析请求。 简单可预测的错误处理模型。 最小化样板代码生成响应。 充分利用 tower 和 tower-http 生态系统中的中间件、服务和实用工具。...renovatebot/renovatehttps://github.com/renovatebot/renovate Stars: 16.4k License: AGPL-3.0 Renovate 是一个自动化的依赖项更新工具...其主要功能包括获取自动生成的拉取请求来更新您的依赖项、通过定时运行减少噪音以及发现相关软件包文件等。...它与 React 兼容,并通过精心调整和优化的虚拟 DOM 来降低 React 的开销,从而实现更快的渲染和加载速度。...原生体验:Slint 构建的 GUI 应符合终端用户对本机应用程序的期望 —— 无论是桌面、移动端、Web 还是嵌入式系统。

15410

拥抱 Vite2.0 系列(二)

但是,Vite对本机ESM导入提供了许多增强功能,以支持通常在基于捆绑程序的设置中常见的各种功能。...NPM依赖关系解析和预捆绑 原生ES导入不支持如下所示的裸模块导入: import { someMethod } from 'my-dep' 上面的操作将在浏览器中抛出一个错误。...依赖项被强缓存 Vite通过HTTP头缓存依赖请求,所以如果你想在本地编辑/调试依赖,请遵循这里的步骤。 热模块替换 Vite通过本地ESM提供了HMR API。...JSX编译也通过ESBuild处理,默认使用React 16风格。这里跟踪ESBuild中React 17风格的JSX支持。.../开始)或绝对的(以/开始,相对于项目根目录解析)。不支持对依赖项进行通配。 glob匹配是通过fast-glob完成的——请查看它的文档以获取支持的glob模式。

3.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Vite2.0 依赖关系预捆绑

    在转换CommonJS依赖时,Vite会执行智能导入分析,这样即使导出被动态分配(例如React),命名的导入也会像预期的那样工作: // works as expected import React,...自动依赖发现 如果没有找到现有的缓存,Vite会抓取你的源代码,并自动发现依赖项导入(即:希望从node_modules解析的“裸导入”),并使用这些发现的导入作为预绑定包的入口点。...Vite自动检测没有从node_modules解析的依赖项,并将链接的dep视为源代码。它不会尝试捆绑被链接的dep,而是会分析被链接的dep的依赖列表。...这意味着Vite无法在初始扫描时发现导入-它只能在浏览器请求文件并进行转换后发现它。这将导致服务器在启动后立即重新绑定。 include和exclude都可以用来处理这个问题。...浏览器缓存 解析后的依赖请求通过HTTP头max-age=31536000强缓存,不可变,以提高在开发期间的页面重载性能。一旦缓存,这些请求将永远不会再到达开发服务器。

    2.6K20

    拥抱 Vite2.0 系列(一)

    它包含两个主要部分: 一个开发服务器,它在本机ES模块上提供了丰富的功能增强,例如,极快的Hot Module Replacement(HMR)。...对于生产:默认构建针对通过script标签支持本机ESM的浏览器。可以通过官方@ vitejs / plugin-legacy支持旧版浏览器-有关更多详细信息,请参见“生产版本”部分。...react-ts preact preact-ts lit-element lit-element-ts index.html 和项目根 您可能已经注意到的一件事是,在Vite项目中,index.html...源代码中的绝对URL将使用项目根目录作为基础来解析,因此您可以像使用普通静态文件服务器一样(除非功能更强大!)来编写代码。...Vite还能够处理解析为根目录以外的文件系统位置的依赖项,即使在基于Monorepo的设置中也可以使用。 指定备用根 运行vite时以当前工作目录为根目录启动开发服务器。

    83610

    包管理工具

    #包管理工具的功能 处理和编写元数据 批量安装或更新所有依赖项 添加、更新和删除依赖项 运行脚本 发布软件包 进行安全审查 #简史 第一个发布的软件包管理器是 npm ,早在 2010 年就已经存在了。...官网介绍 如果依赖于依赖项的不同版本,则只有不同的文件才会添加到存储区。...本质上,就是将你的依赖项通过下载并解析成 zip 的形式放到你的 .yarn/cache 目录下,通过提交源码将当前所有的 zip 文件上传,然后当其他团队成员在 down 代码的时候直接可以运行项目而不需要特意去安装...主要是将依赖下载成 zip 形式存储,但是 Node 无法解析 zip 格式的依赖包,所以使用了 .pnp.js 来维护映射关系,我们将 Yarn Berry 生成的所有依赖可以直接上传到 git 上,...像上文介绍一样,将依赖通过 link 的形式避免了非法访问依赖的问题,如果没在 package.json 声明的话,是无法访问的。

    2.7K20

    21个让React 开发更高效更有趣的工具

    Webpack Bundle Analyzer创建一个实时服务器,并提供依赖包交互式树形图可视化。 通过这个工具包,可以看到所渲染文件的位置,gzip大小,解析大小以及所父子级之间详情。...它为开发人员经常面临的许多典型任务(如创建新项目、执行任务和管理依赖项)提供了友好的图形用户界面。...模拟每个外部依赖项(API响应、localStorage等)。 查看应用程序状态在与运行实例交互时的实时演变。 13....但是,并不是所有的依赖库都是通过克隆使用,因为其中一些库需要通过安装形式,才能成为项目的依赖项。 17. Highlight Updates 这可能是开发工具包中最重要的工具。...Proton Native Proton Native为咱们提供了一个React环境来构建跨平台的本机桌面应用程序。

    2.4K30

    Webpack构建速度优化指南

    前言当我们的项目越来越大,webpack的配置项越来越多时,构建速度会越来越慢,所以我们需要通过一些配置来提高webpack的构建速度。...可以实现这个功能,常见的例如:include:符合条件的模块进行解析exclude:排除符合条件的模块,不解析,优先级更高这样一来,一开始构建,我们就能去除一些选项,比如,在使用babel-loader...,所以根本不需要webpack去解析它内部的依赖关系,使用 noParse 进行忽略的模块文件中不会解析 import、require 等语法module:{ noParse:/jquery|lodash...externalsexternals 配置选项提供了「从输出的 bundle 中排除依赖」的方法,因为我们在每次打包的时候,有些依赖的变动很小,所以我们可以不选择不把依赖打包进去,而使用script标签的形式来加载他...这里配置项的键值是package.json文件中依赖库的名称,而value值代表的是第三方依赖编译打包后生成的js文件,然后js文件执行后赋值给window的全局变量名称。

    1.6K20

    Webpack构建速度优化

    前言当我们的项目越来越大,webpack的配置项越来越多时,构建速度会越来越慢,所以我们需要通过一些配置来提高webpack的构建速度。...可以实现这个功能,常见的例如:include:符合条件的模块进行解析exclude:排除符合条件的模块,不解析,优先级更高这样一来,一开始构建,我们就能去除一些选项,比如,在使用babel-loader...,所以根本不需要webpack去解析它内部的依赖关系,使用 noParse 进行忽略的模块文件中不会解析 import、require 等语法module:{ noParse:/jquery|lodash...externalsexternals 配置选项提供了「从输出的 bundle 中排除依赖」的方法,因为我们在每次打包的时候,有些依赖的变动很小,所以我们可以不选择不把依赖打包进去,而使用script标签的形式来加载他...这里配置项的键值是package.json文件中依赖库的名称,而value值代表的是第三方依赖编译打包后生成的js文件,然后js文件执行后赋值给window的全局变量名称。

    1.7K10

    Webpack 踩坑记 - 配置 externals 和 output

    本文总结了自己开发库时依赖共同第三方包时的 externals 和 output 配置项。...1、场景 当你开发的包依赖较大的第三方包(react、react-dom) 的时候,你一般是把这些大的第三方包 externals 出去: { externals: { 'react': '...React', 'react-dom': 'ReactDOM' } } 假如你开发了 A、B 两个插件 A 依赖 B 、react 和 react-dom B 只依赖 react 和 react-dom...deps 如果你想发布 A 的话,有两种策略,要么直接依赖(将 B 写到 dependencies 中),要么像 react 和 react-dom 一样 externals 掉 B 包(有可能 B 的包也很大...深入理解webpack如何解析代码路径:掘金上的文章,讲解 webpack 的代码路径解析规则 顺带收集几个相关 issue,看看别人遇到的问题现在你是否可以解决: `browser` vs `module

    3.7K20

    React | 如何制作一个按钮组件

    见如下node_modulespublic // 本机临时演示用,后期删除src // 本机临时演示用,后期删除.gitignorepackage-lock.jsonpackage.jsonREADME.mdtsconfig.json...基础功能就是主题带Icon多尺寸开始编码原形按钮写一个基础组件,一般依赖于原html,按钮也不例外。...React官方早就想到了这一点,所以有了useCallback,useMemo等hook。这些钩子的第二个参数就是让我们来告诉React,哪些需要真渲染,哪些需要使用缓存。...useMemo 用于缓存计算结果,只有当依赖项发生变化时,才会重新计算。它适用于不经常改变且计算成本较高的值。...useCallback 用于缓存函数,只有当依赖项发生变化时,才会返回一个新的函数。它适用于作为回调函数的函数,特别是当这个函数作为 prop 传递给子组件时。

    22130

    21个让React 开发更高效更有趣的工具

    Webpack Bundle Analyzer创建一个实时服务器,并提供依赖包交互式树形图可视化。 通过这个工具包,可以看到所渲染文件的位置,gzip大小,解析大小以及所父子级之间详情。...它为开发人员经常面临的许多典型任务(如创建新项目、执行任务和管理依赖项)提供了友好的图形用户界面。 Guppy 启动后的的样子 ?...模拟每个外部依赖项(API响应、localStorage等)。 查看应用程序状态在与运行实例交互时的实时演变。 13....但是,并不是所有的依赖库都是通过克隆使用,因为其中一些库需要通过安装形式,才能成为项目的依赖项。 ? 17. Highlight Updates 这可能是开发工具包中最重要的工具。...Proton Native Proton Native为咱们提供了一个React环境来构建跨平台的本机桌面应用程序。

    99320

    入门webpack的最佳实践(基于webpack4.X 5.X)--打包速度优化

    前言 当我们的项目越来越大,webpack的配置项越来越多时,构建速度会越来越慢,所以我们需要通过一些配置来提高webpack的构建速度。...可以实现这个功能,常见的例如: **include**:符合条件的模块进行解析 **exclude**:排除符合条件的模块,不解析,优先级更高 这样一来,一开始构建,我们就能去除一些选项,比如,在使用babel-loader...,所以根本不需要webpack去解析它内部的依赖关系,使用 noParse 进行忽略的模块文件中不会解析 import、require 等语法 module:{ noParse:/jquery|...externals externals 配置选项提供了「从输出的 bundle 中排除依赖」的方法,因为我们在每次打包的时候,有些依赖的变动很小,所以我们可以不选择不把依赖打包进去,而使用script...}, 注意 这里配置项的键值是package.json文件中依赖库的名称,而value值代表的是第三方依赖编译打包后生成的js文件,然后js文件执行后赋值给window的全局变量名称。

    1K30

    入门webpack的最佳实践(基于webpack4.X 5.X)--打包速度优化

    前言当我们的项目越来越大,webpack的配置项越来越多时,构建速度会越来越慢,所以我们需要通过一些配置来提高webpack的构建速度。...可以实现这个功能,常见的例如:include:符合条件的模块进行解析exclude:排除符合条件的模块,不解析,优先级更高这样一来,一开始构建,我们就能去除一些选项,比如,在使用babel-loader...,所以根本不需要webpack去解析它内部的依赖关系,使用 noParse 进行忽略的模块文件中不会解析 import、require 等语法module:{ noParse:/jquery|lodash...externalsexternals 配置选项提供了「从输出的 bundle 中排除依赖」的方法,因为我们在每次打包的时候,有些依赖的变动很小,所以我们可以不选择不把依赖打包进去,而使用script标签的形式来加载他...这里配置项的键值是package.json文件中依赖库的名称,而value值代表的是第三方依赖编译打包后生成的js文件,然后js文件执行后赋值给window的全局变量名称。

    1.1K20

    腾讯 IMWeb 团队的前端构建秘籍

    /dist/',//文件输出路径 }} resolve 该项配置主要用于解析模块依赖的自定义项, 比较常规的配置项如下,modules用于加速绝对路径查找效率,alias可以用户自定义模块查找路径。...JB系统编译每次编译都会启动一个新的目录,这导致项目依赖的众多nodemodules无法缓存,每次编译重新安装耗时非常长,针对JB的编译,我开发了@tencent/im-build模块自动缓存项目依赖的...过滤不需要做任何处理的库 module: { // 这些库都是不依赖其它库的库 不需要解析他们可以加快编译速度 noParse: /node_modules\/(moment|chart\.js)/...如果使用了 postcss-custom-properties,需要注意在8.x版本中存在一个bug,无法解析如下语法: :root{ --green: var(--customGreen, #08cb6a...-primary) shade(5%)); // 上面面这句将会被转换为如下代码,最终导致浏览器无法解析该语法 background: var(--green); background: var(

    1.5K30
    领券