jyk肯肯 2023-07-01 00:59 采纳率: 50%
浏览 52

vite引入naive-ui后找不到date-fns/esmindex.js模块怎么解决?

我用vite构建工具搭建了vue3项目,并按照naive官方文档安装了这个组件库

但当我在页面上引入时会立马报错说not Found:

img

我npm install --save date-fns手动下载,依旧有错误:

img


(避免深度导入“date-fns/esm”,因为“date-fns”已经被vite预先优化为一个文件,首选直接从模块条目导入,如果依赖性需要深度导入才能正常工作,在vite.config.js中添加optimizeDeps.include的深层路径)

  • 写回答

2条回答 默认 最新

  • 网创学长 上海途途珺文化传媒有限公司官方账号 2023-07-01 11:00
    关注

    在使用Vite构建项目时,有时我们会遇到引入Naive UI组件库后出现找不到"date-fns/esm/index.js"模块的问题。这可能是由于Vite对ES模块的路径解析方式不同导致的。下面将介绍如何解决这个问题。

    首先,我们需要了解一些背景知识。Vite是一个基于ES模块的前端构建工具,它使用原生ES模块的方式解析依赖关系。而Naive UI是一个基于Vue 3的UI组件库,它的源码中使用了"date-fns/esm/index.js"这个模块。由于Vite的路径解析方式与传统的基于Node.js的打包工具不同,所以在引入Naive UI时可能会出现找不到该模块的情况。

    要解决这个问题,可以尝试以下几种方法:

    在Vite配置文件中添加别名:打开你的Vite配置文件(通常是vite.config.js),在resolve.alias字段中添加别名配置,将"date-fns/esm/index.js"映射到正确的路径。例如:

    import { defineConfig } from 'vite';
    
    export default defineConfig({
      resolve: {
        alias: {
          'date-fns/esm/index.js': 'date-fns/esm/index.js' // 这里填写正确的路径
        }
      }
    });
    
    
    

    使用完整路径进行引入:在你的代码中,将Naive UI组件的引用路径改为直接引用"date-fns/esm/index.js"。例如:

    import 'date-fns/esm/index.js';
    import { DatePicker } from 'naive-ui';
    
    // 在这里使用DatePicker组件
    
    
    

    手动安装date-fns库:如果上述方法无效,可以尝试手动安装和导入date-fns库。首先,在项目根目录下执行以下命令来安装date-fns库:

    npm install date-fns
    
    
    

    然后,在你的代码中直接引入需要的date-fns模块,无需再使用"date-fns/esm/index.js"。例如:

    import { format } from 'date-fns';
    import { DatePicker } from 'naive-ui';
    
    // 在这里使用format函数和DatePicker组件
    
    
    

    以上方法中的任何一种都可能解决Vite引入Naive UI后找不到"date-fns/esm/index.js"模块的问题。根据你的具体情况选择其中一种方法进行尝试。

    需要注意的是,如果你选择了手动安装date-fns库的方法,请确保将其添加到你的项目依赖中,并且在代码中正确导入所需的date-fns模块。

    希望这篇文章对你能够解决Vite引入Naive UI后找不到"date-fns/esm/index.js"模块的问题。祝你在开发中取得成功!

    评论

报告相同问题?

问题事件

  • 创建了问题 7月1日

悬赏问题

  • ¥100 复现论文:matlab仿真代码编写
  • ¥15 esp32驱动GC9A01循环播放视频
  • ¥15 惠普360g9的最新bios
  • ¥30 这个功能用什么软件发合适?
  • ¥60 微信小程序,取消订单,偶尔订单没有改变状态
  • ¥15 用pytorch实现PPO算法
  • ¥15 关于调制信号的星座图?
  • ¥30 前端传参时,后端接收不到参数
  • ¥15 这是有什么问题吗,我检查许可证了但是显示有呢
  • ¥15 机器学习预测遇到的目标函数问题