Rspack 创建 vue2/3 项目接入 antdv(rspack.config.js 配置 less 主题)

这篇具有很好参考价值的文章主要介绍了Rspack 创建 vue2/3 项目接入 antdv(rspack.config.js 配置 less 主题)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、简介

  • Rspack CLI 官方文档。

  • rspack.config.js 官方文档。

二、创建 vue 项目

  • 创建项目(文档中还提供了 Rspack 内置 monorepo 框架 Nx 的创建方式,根据需求进行选择)

    # npm 方式
    $ npm create rspack@latest
    
    # yarn 方式
    $ yarn create rspack
    
    # pnpm 方式
    $ pnpm create rspack@latest
    
  • 创建好项目并运行,目前 Rspack 版本支持的工程模版:

    Rspack 创建 vue2/3 项目接入 antdv(rspack.config.js 配置 less 主题),Rspack,javascript,less,开发语言

    默认创建的 vue 项目为 vue3

    Rspack 创建 vue2/3 项目接入 antdv(rspack.config.js 配置 less 主题),Rspack,javascript,less,开发语言

  • 如果需要其他版本,或其他框架的基础工程,可到官方提供的 rspack 工程拷贝一个基础工程模版进行使用:

    Rspack 创建 vue2/3 项目接入 antdv(rspack.config.js 配置 less 主题),Rspack,javascript,less,开发语言

    在拷贝出来的基础工程找到 package.json 中的 @rspack/cli,将它改为指定版本,或看当前下载的 rspack 是属于什么版本的,也可以直接改成使用最新版本:

    # 默认的
    "@rspack/cli": "workspace:*",
    
    # 改成最新版本
    "@rspack/cli": "latest",
    

    执行 $ npm i 安装依赖就可以进行开发了。

三、接入 antdv@4.x

  • antdv 快速上手,直接使用官方最新版本 4.x 试试:

    $ npm i --save ant-design-vue@4.x
    
  • main.js

    ...
    import Antd from 'ant-design-vue';
    import 'ant-design-vue/dist/reset.css';
    
    createApp(App).use(Antd).mount("#app");
    
  • App.vue

    <template>
       <a-button type="primary" ghost>Primary1</a-button>
       <a-config-provider
         :theme="{
           token: {
             colorPrimary: '#00b96b'
           }
         }"
       >
         <a-button type="primary" ghost>Primary2</a-button>
       </a-config-provider>
       <a-button type="primary" ghost>Primary3</a-button>
    </template>
    

    Rspack 创建 vue2/3 项目接入 antdv(rspack.config.js 配置 less 主题),Rspack,javascript,less,开发语言

四、接入 antdv@1.7.8 老版本(并通过 rspack.config.js 配置主题)

  • 通过上面创建 vue2 项目,并修改好 @rspack/cli 版本,执行:

    # 安装依赖
    $ npm i
    
  • 安装 antdv

    $ npm i ant-design-vue@1.7.8
    
  • main.js

    import Antd from 'ant-design-vue';
    import 'ant-design-vue/dist/antd.css';
    // import 'ant-design-vue/dist/antd.less';
    Vue.config.productionTip = false;
    Vue.use(Antd);
    
  • App.vue

    <template>
      <div class="container">
        <a-button type="primary">Primary</a-button>
      </div> 
    </template>
    
  • 运行项目

    $ npm run dev
    

    Rspack 创建 vue2/3 项目接入 antdv(rspack.config.js 配置 less 主题),Rspack,javascript,less,开发语言

  • 配置主题 main.js

    import Antd from 'ant-design-vue';
    // import 'ant-design-vue/dist/antd.css';
    // 使用 less 展示方式
    import 'ant-design-vue/dist/antd.less';
    Vue.config.productionTip = false;
    Vue.use(Antd);
    
  • 可能会报错:

    error[internal]: Napi Error: GenericFailure - 
    // https://github.com/ant-design/ant-motion/issues/44
    .bezierEasingMixin();
    

    解决方案:

    方案一:【推荐】找到 rspack.config.js 中的 module,里面使用了 less-loader,对它进行调整:

    ....
    {
            test: /\.less$/,
            use: ["vue-style-loader", "css-loader", "less-loader"],
            type: "javascript/auto"
    },
    ...
    

    将上面的配置方式,按下面的调整,就解决报错了

    ...
    {
            test: /\.less$/,
            use: ["vue-style-loader", "css-loader", {
                    loader: "less-loader",
                    options: {
                            lessOptions: {
                                    javascriptEnabled: true
                            }
                    }
            }],
            type: "javascript/auto"
    },
    ...
    

    方案二:打开项目 package.json,将 less 版本降到 3.0 以下,例如 2.7.3 版本。

  • 接着可能会报错

    error[internal]: Napi Error: GenericFailure - 
        position: absolute;
        top: 8px + @font-size-base * @line-height-base / 2 - @font-size-base / 2;
    

    原因:less 在第 7 版本改变了原有的除法运算,所以无法识别

    解决办法:

    # 移除高版本less-laoder
    $ npm uni less-loader
    
    # 指定安装 less-loader 6 版本
    $ npm i less-loader@6 -D
    

    解决之后,就能正常运行项目了。

  • rspack.config.js 中添加一个主题色,保存重新运行,主题色生效。

    ...
    {
            test: /\.less$/,
            use: ["vue-style-loader", "css-loader", {
                    loader: "less-loader",
                    options: {
                            modifyVars: {
                                    'primary-color': '#1DA57A'
                            },
                            lessOptions: {
                                    javascriptEnabled: true
                            }
                    }
            }],
            type: "javascript/auto"
    },
    ...
    

    Rspack 创建 vue2/3 项目接入 antdv(rspack.config.js 配置 less 主题),Rspack,javascript,less,开发语言

  • 在配置路由页面的时候,记得都带好后缀,之前 import 组件、页面地址的时候一般不带后缀,但是在这里需要带上,除非自己能修改 rspack.config.js,不会修改又不带上后缀会报错:

    @.. 方式都不行,其实就是缺少了 .vue 后缀,必须要带上。

    error[internal]: Resolve error
       ┌─ src/router/index.js:10:406{
     7 │       path: '/home',
     8 │       name: 'home',
     9// component: () => import('@/views/home/Home'),
    10component: () => import('../views/home/Home'),
       │ ╭────────────────────────────────────────^
    11 │ │     // component: Home,
       │ ╰────────────────^ Failed to resolve ../views/home/Home in /Users/dengzemiao/Desktop/Project/rspack/test/src/router/index.js
    12 │       meta: { title: '首页', keepAlive: false, icon: 'idcard' }
    13}
    14]
    

    提示:vue-router 需要单独安装,rspack 提供的基础库好像并不自带,可以查看下 package.json 确定下。

    import Vue from 'vue'
    import Router from 'vue-router'
    import Home from '../views/home/Home.vue'
    
    export const routes = [
      {
        path: '/home',
        name: 'home',
        // component: () => import('@/views/home/Home.vue'),
        // component: () => import('../views/home/Home.vue'),
        component: Home,
        meta: { title: '首页' }
      }
    ]
    
    Vue.use(Router)
    
    export default new Router({
      mode: 'history',
      scrollBehavior: () => ({ y: 0 }),
      routes
    })
    
  • 更多 rspack.config.js 配置可以查看官方文档文章来源地址https://www.toymoban.com/news/detail-673700.html

到了这里,关于Rspack 创建 vue2/3 项目接入 antdv(rspack.config.js 配置 less 主题)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端食堂技术周刊第 85 期:5 月浏览器更新、TypeScript 5.1、Rspack 0.2.0、Parcel v2.9.0、Next.js 企业级模板

    美味值:🌟🌟🌟🌟🌟 口味:龙井酥 食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly 5 月登陆浏览器的新功能 TypeScript 5.1 Rspack 0.2.0 Parcel v2.9.0 Next.js 企业级模板 SupportsCSS useHooks 大家好,我是童欧巴。欢迎来到前端食堂技术周刊,我们先来看下上周的技术资讯。 Firefox 1

    2024年02月08日
    浏览(49)
  • 如何解决创建vue项目后没有webpack.config.js(vue.config.js)文件

    ◼️ webpack.config.js文件没有的原因 Vue 项目中 vue.config.js 文件就等同于 webpack 的 webpack.config.js。 vue-cli3 之后创建的时候并不会自动创建 vue.config.js,因为这个是个可选项,所以一般都是需要修改 webpack 的时候才会自己创建一个 vue.config.js。 vue-cil3之后创建项目后的目录结构如下

    2024年02月04日
    浏览(59)
  • 创建vue2项目

    (1) 使用cmd终端直接创建 在键盘上win+r,输入cmd打开终端窗口,cd进入到vue项目所创建的目录里(我是直接创建在桌面上) 输入创建项目指令(vue create 项目名称) 手动选择项目所需的基本配置选项(按enter键进入) 选择以下几项(按空格选中或者取消选中,选好之后ente

    2024年01月16日
    浏览(40)
  • Vue2项目创建步骤

    空格键是选中与取消,A键是全选 TypeScript 支持使用 TypeScript 书写源码 Progressive Web App (PWA) Support PWA 支持。 Router 支持 vue-router 。 Vuex 支持 vuex 。 CSS Pre-processors 支持 CSS 预处理器。 Linter / Formatter 支持代码风格检查和格式化。 Unit Testing 支持单元测试。 E2E Testing 支持 E2E 测试。

    2023年04月24日
    浏览(43)
  • 如何创建vue2,vue3项目

    前提需安装node.js和Vue CLI node.js:https://nodejs.org/zh-cn Vue CLI: 如何创建一个vue2项目 (1) 使用cmd终端直接创建 进入到vue项目所创建的目录里(我是直接创建在桌面上)  选择vue2 创建项目 完成,发现npm run serve运行后会报错 出现 Conflict: Multiple assets emit different content to the same f

    2024年02月16日
    浏览(50)
  • Vue+vite创建项目关于vite.config.js文件的配置

    Vue项目创建时,我们见过vue-cli 创建项目和webpack 创建项目等方式。 现在Vue 3版本使用npm/pnpm create vue@latest 创建项目,是搭配使用vite工具构建的。 创建完成的项目,最明显的去别就是,项目配置文件命名不同,当然,配置语法也有不同。 vue-cli 创建的项目,项目配置文件文件

    2024年02月12日
    浏览(56)
  • 使用vue-cli创建vue2项目以及项目配置

    1、安装vue-cli cmd:npm install -g @vue/cli@4.5.19 验证是否安装成功:vue -v   出现版本号说明安装成功 2、创建项目 vue create 项目名称 根据自己的需求选择特性,如下所示: 手动选择: 选择自己需要的特性:例如: 选择vue版本 选择路由模式 (输入y和n都可以,y代表history模式没有

    2024年02月06日
    浏览(62)
  • vue2 路由进阶,VueCli 自定义创建项目

    1.需求 实现导航高亮效果 如果使用a标签进行跳转的话,需要给当前跳转的导航加样式,同时要移除上一个a标签的样式,太麻烦!!! 2.解决方案 vue-router 提供了一个全局组件 router-link (取代 a 标签) 能跳转 ,配置 to 属性指定路径( 必须 ) 。本质还是 a 标签 , to 无需 # 能高亮

    2024年02月11日
    浏览(46)
  • 创建一个vue2的脚手架项目(超详细)

    0.前言 在用npm安装vue脚手架之前需要安装node,前面博客有详细安装过程,请读者安装node之后再进行脚手架的安装 1 npm vue2的安装脚手架 2.创建vue2脚手架项目 3.开启服务器 4.在浏览器中输入端口地址 5.项目目录介绍

    2024年02月11日
    浏览(71)
  • hbuilder创建基于vue2的uniapp小程序项目

    参考vant官网:https://vant-contrib.gitee.io/vant/v3/#/zh-CN/quickstart#an-zhuang官网 参考别人博客:https://www.yii666.com/blog/465379.html 1.1 hbuilder进去右上角点击文件–新建–项目 1.2 vue2项目如下图 2.1 2.2

    2024年02月17日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包