Loading

vite + react + arco-design-mobile 使用 babel-plugin-import 实现按需加载

0.什么是vite?

vite是一种新型前端构建工具。

  • 一个开发服务器,它基于原生ES模块提供丰富的内建功能
  • 一套构建指令,它使用Rollup 打包你的代码,可输出用于生产环境的高度优化过的静态资源

1.什么是babel?

babel 是一个javasctipt 编译器,他是一个工具链,主要用于在当前浏览器和旧浏览器环境中,将ECMAScript 2015 代码转换为 向后兼容版本的代码。

它主要做:

  • 转换语法
  • Polyfill 目标环境缺少的功能
  • 源代码转换

2.babel插件说明

通过配置文件中应用插件,可以启用Babel 的代码转换

3.如何使用 babel-plugin-import?

3.1 安装 vite-plugin-babel、babel-plugin-import、@babel/preset-react

npm install @babel/preset-react vite-plugin-babel babel-plugin-import

3.2 在vite.config.js 中添加 vite-plugin-babel 插件

import babel from 'vite-plugin-babel';

export default defineConfig({
    // 省略上方配置...
    plugins: [
      babel(),
      // 省略下方配置...
    ]
 });

3.3 在项目根目录新增Babel的配置文件 babel.config.cjs

module.exports = {
  presets: [
    [
      "@babel/preset-react",
      {
        runtime: "automatic",
      },
    ],
  ],
  plugins: [
    [
      "import",
      {
        libraryName: "@arco-design/mobile-react",
        libraryDirectory: "esm", 
        style: (path) => `${path}/style`,
      },
    ],
  ],
};

4.搞定

参考文档

Babel官网文档: https://babel.docschina.org/docs/en/plugins/
Arco.Design 官方文档: https://arco.design/mobile/react/arco-design/pc/#/
vite-plugin-babel npmjs页面: https://www.npmjs.com/package/vite-plugin-babel

posted @ 2023-06-06 11:04  ZJH_BLOGS  阅读(217)  评论(0编辑  收藏  举报