收藏
回答

使用npm安装了dayjs,require导入插件报错?

let dayjs = require('dayjs')
let relativeTime = require('dayjs/plugin/relativeTime.js')
dayjs.extend(relativeTime)


npm安装的dayjs,构建都是成功的,但是在页面引入dayjs的插件,页面报错

Error: module 'pages/matters/dayjs/plugin/relativeTime.js' is not defined, require args is 'dayjs/plugin/relativeTime.js'

require导入时,引入的路径变成了当前页面下的相对路径。要怎么处理好这个问题?

回答关注问题邀请回答
收藏

2 个回答

  • 神经蛙
    神经蛙
    1天前

    可以看看这篇文章,可能会有帮助

    1天前
    有用
    回复
  • Ding
    Ding
    2023-06-28

    dayjs 的插件不会被编译到 miniprogram_npm,所以报错。

    解决方法:

    方法一:把用到的插件手动拷贝到自己的代码目录下

    方法二:把插件拷贝到miniprogram_npm/dayjs 下,这样需要每次编译后都拷贝一次

    方法三:写个编译器预处理命令,把插件拷贝过去

    2023-06-28
    有用
    回复 3
    • hboot
      hboot
      2023-06-28
      是这个问题,还有没有更好的解决办法。这些或多或少都有一些潜在的问题。看了npm构建原理介绍,是从`package.json`配置的主入口进行依赖分析然后打的包。但有很多npm包提供可选的功能模块,并未在主入口中引入,就导致了构建时丢失的问题。


      这个问题不知道官方有没有在处理,应该在追加静态分析一下代码里的导入,并将引入的包都构建输出
      2023-06-28
      回复
    • Ding
      Ding
      2023-06-28回复hboot
      可以给官方提个建议。 当下只能自己解决了
      2023-06-28
      1
      回复
    • 浅酌清酒、
      浅酌清酒、
      2023-09-13
      然后最新版的开发工具,直接强制把无依赖引用干掉了,关键是 设置 ignoreUploadUnusedFiles 为 false,一样强制过滤。
      2023-09-13
      回复
登录 后发表内容