type
status
date
slug
summary
tags
category
icon
password
前言
距离 Vite 发布已经有几个年头,但由于长期维护历史遗留项目,鲜有机会去尝试使用其提升开发效率。
传闻 Vite 较于 Webpack 有将近十倍的性能提升,考虑到开发机的性能难以支撑数千个模块编译的即时响应,以及项目后续对于 Electron 的适配,便决定使用 Vite 来替代原有组件。
但项目迁移途中并不顺利,因为DataV模块迁移后遇到了以下错误:
DataV 是一个基于 Vue2 的大屏数据展示组件库,本文将围绕该问题进行解决。
问题分析
查看文件
node_modules/@jiaminghi/c-render/lib/index.js
可知文件是由node_modules/@jiaminghi/c-render/src/index.js
编译得到。点击展开
或许是 Vite 不支持加载编译后的模块,项目中其它使用类似
export default
的代码都工作正常。于是便尝试使用 Vite 加载
node_modules/@jiaminghi/c-render/src/index.js
文件。点击展开
结果是成功的,但 DataV 包中几乎整个项目都是加载编译后的代码,为了解决这个问题,便需要了解 Vite 的解析机制了。
解决方案
Vite 可以对引入包的路径进行自定义解析,详情参见 ResolveAlias。
通常项目会定义 “@” -> “src” 的 Alias 来便于组件的加载。
那么,利用这个特性编写以下解析配置,便可解决 DataV 在 Vite 中无法使用的问题。
- 需要执行以下命令安装依赖包,以使用上述解决方案。