getattributevalue 你会使用 unbuild 取代 RollUp 么?
getattributevalue 你会使用 unbuild 取代 RollUp 么?
大家好,很高兴又见面了,我是"高级前端进阶"getattributevalue 你会使用 unbuild 取代 RollUp 么?,由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!
高级前端进阶
1. 什么是
是 的模块打包器getattributevalue,它可以将小块代码编译成更大更复杂的东西,例如库或应用程序。
使用标准化的 ES 模块来编写代码,而不是 和 AMD 等特殊模块解决方案,因为 ES 模块让开发者可以自由、无缝地组合最喜欢的库中最有用的函数。 而 负责优化 ES 模块以在现代浏览器中更快地进行本机加载。
对于支持 ES 模块的环境, 可以输出优化的 ES 模块; 对于不需要 ES 模块的环境, 可以将代码编译为其他格式,例如 、AMD 和 IIFE 风格的脚本,从而使得最大程度上面向未来编码。具有以下明显的特点:
2. 什么是
如 官方所言:是一个统一的 构建系统。
A build
基于,集成了 生态中非常优秀的插件生态,开箱即用的支持 ,并允许生成和es模块格式和类型声明。这意味着开发者不需要手动一个个安装插件,配置,调试后才可以进行开发工作。比如下图展示了已经集成的诸多插件:
总体来说,有以下比较明显的特点:
:一个轻量的文件转换器,类似 的 ,用于预处理文件。同时getattributevalue, 可以保持原有目录文件结构,也支持 vue 的 sfc 组件,静态文件copy。
jiti:Node.js 的 和 ESM 支持
3.使用
首先,创建 src/index.ts:
export const log = (...args) => { console.log(...args) }
更新 .json内容:
{
"type": "module",
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.cjs"
}
},
"main": "./dist/index.cjs",
"types": "./dist/index.d.ts",
"files": [
"dist"
]
}
使用进行构建:
npx unbuild
配置是从映射到 src/ 目录的 .json 中的字段自动推断的。
4.自定义配置
创建 build..ts文件:
export default {
entries: [
'./src/index'
]
}
也可以在 .json 或 build..{js,ts,json} 中使用 键来指定配置。比如下面的一个配置:
import { defineBuildConfig } from 'unbuild'
export default defineBuildConfig({
// 如果未提供entry,将从 package.json 自动推断
entries: [
// default
'./src/index',
// mkdist builder transpiles file-to-file keeping original sources structure
{
builder: 'mkdist',
input: './src/package/components/',
outDir: './build/components'
},
],
// 修改 outDir, 默认是'dist'目录
outDir: 'build',
// 自动生成 .d.ts 声明文件
declaration: true,
})
本文总结
本文主要和大家介绍 ,即一个基于 的统一 构建系统。说实话,这样的简单封装确实找不到从迁移到 的理由。
如果大家对选择构建工具有困难,可以继续在我的主页阅读更多优秀构建工具getattributevalue,有基于GO、Rust的最新一代构建效率提升工具(比如:SWC、等),也有基于纯的构建工具(如:Vite、等等)。因为篇幅有限getattributevalue 你会使用 unbuild 取代 RollUp 么?,文章并没有过多展开。如果有兴趣,文末的参考资料提供了大量优秀文档以供学习。
参考资料
- 随机文章
- 热门文章
- 热评文章