TypeError: moment().tz is not a function

后端 未结 5 999
Happy的楠姐
Happy的楠姐 2021-01-01 08:26

When testing using jasmine, I am getting this error.

TypeError: moment.tz is not a function

My code that I try to test is

l         


        
5条回答
  •  一向
    一向 (楼主)
    2021-01-01 08:54

    I've encountered this problem too. It works for years, but after a refactor, it doesn't work. As I've investigated, moment-timezone@0.5.13 depends on moment@>=2.9.0, which might be different from moment itself.

    In my case, moment-timezone uses moment@2.24.0, and moment itself version is 2.18.1. Causes moment-timezone decorated wrong version of moment.

    I've change yarn.lock like this:

    moment-timezone@0.5.13:
      version "0.5.13"
      resolved "https://arti-dev.ss.aws.fwmrm.net/api/npm/fw-npm/moment-timezone/-/moment-timezone-0.5.13.tgz#99ce5c7d827262eb0f1f702044177f60745d7b90"
      integrity sha1-mc5cfYJyYusPH3AgRBd/YHRde5A=
      dependencies:
        moment ">= 2.9.0"
    
    moment@2.18.1, moment@>= 2.9.0:
      version "2.18.1"
      resolved "https://arti-dev.ss.aws.fwmrm.net/api/npm/fw-npm/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f"
      integrity sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8=
    
    

    moment & moment-timezone could be used substitute for each other in this case.

提交回复
热议问题