首页 > 其他分享 > vite + react + arco-design-mobile 使用 babel-plugin-import 实现按需加载

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

时间:2023-06-06 11:14:40浏览次数:43  
标签:plugin mobile babel react design import vite

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

标签:plugin,mobile,babel,react,design,import,vite
From: https://www.cnblogs.com/zjhblogs/p/17459968.html

相关文章

  • 【Exception】maven-compiler-plugin 编译失败集锦
    1JDK明明是1.8为什么说编译环境和运行环境不一致?Whatfuck?JDK明明1.8为什么编译环境变成1.5了?Whatfuck?原因分析:奇怪的是我的机器上只安装了JDK8,为什么还会说不支持diamond和lambda呢?在Google大神的指引下,在MavenCompiler插件介绍里面找到了答案:Alsonotethat......
  • 【VMware】CentOS6.5 Loaded plugins: fastestmirror, refresh-packagekit, security
    最近在用Centos6.5的时候出现了这种情况,[root@bogonDesktop]#yum-yinstalldockerLoadedplugins:fastestmirror,refresh-packagekit,securityLoadingmirrorspeedsfromcachedhostfile *base:mirrors.aliyun.com *extras:mirrors.nwsuaf.edu.cn *updates:m......
  • babel-plugin-enhance-log插件使用
    一个用来为console.log添加代码行数,log参数名以及添加分隔符的插件#1.安装插件npmibabel-plugin-enhance-log-D#oryarnaddbabel-plugin-enhance-log-D#orpnpmaddbabel-plugin-enhance-log-D#2.在babel.congfig.js中添加插件://babel.config.jsmodule.expo......
  • jquery mobile的一些使用记录。
    [color=red][b]自定义按钮图标去除按钮阴影/圆角[/b][/color][url]http://bbs.phonegap100.com/thread-218-1-1.html[/url][color=red][b]jQueryMobile自定义按钮图标[/b][/color]JqueryMobile自定义按钮图标[url]http://liningjustsoso.iteye.com/blog/1986769[/url][co......
  • 【React工作记录八十六】React+Hook+ts+antDesignMobile实现input自动获取功能
    前言大家好我是歌谣今天继续处理工作遇到的问题目前要做的问题是移动端需要做一个进入页面获取焦点的功能实现演示核心代码input上面绑定refs<InputonChange={handleChange}ref={inputRef}placeholder="请输入条形编码或者扫码录入"/>定义状态constinputRef:any=useRef(nul......
  • Intellij Plugin 配置结果概述
    资料官网目录<idea-plugin> <id> <name> <version> <product-descriptor> <idea-version> <vendor> <description> <change-notes> <depends> <incompatible-with> <actions> <action>......
  • idea Maven 在升级后 提示Plugin with id ‘maven‘ not found
    Pluginwithid‘maven‘notfound的解决办法应用的插件名字已经从Maven变成maven-publish。修改方式:在build.gradle文件中修改applyplugin:'maven'改成:applyplugin:'maven-publish'......
  • webpack-loader-使用babel-loader转换处理高级的js语法
    webpack只能打包处理一部分高级的JavaScript语法。对于那些webpack无法处理的高级js语法,需要借助于babel-loader进行打包处理。例如webpack无法处理下面的JavaScript代码://定义装饰器函数functioninfo(target){target.info='Personinfo.'}//定义一个普通的类@info......
  • Unity的IGenerateNativePluginsForAssemblies:深入解析与实用案例
    UnityIGenerateNativePluginsForAssembliesUnity是一款非常流行的游戏引擎,它支持多种平台,包括Windows、Mac、Linux、Android、iOS等。在Unity中,我们可以使用C#编写游逻辑,但是有些时候我们需要使用一些原生的代码来实现一些高性能的功能,比如图像处理、音频等。这时候,我们就需要使......
  • Unity的IGenerateNativePluginsForAssemblies:深入解析与实用案例
    UnityIGenerateNativePluginsForAssembliesUnity是一款非常流行的游戏引擎,它支持多种平台,包括Windows、Mac、Linux、Android、iOS等。在Unity中,我们可以使用C#编写游逻辑,但是有些时候我们需要使用一些原生的代码来实现一些高性能的功能,比如图像处理、音频等。这时候,我们就需要使......