Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Error when using moment.js

I am trying to use moment.js when creating a custom visual, but get the following error: 

 

Module not found: Error: Can't resolve './locale' in 'F:\XXXXX\.tmp\build'

 

This appears to be linked to a know issue with moment.js, but none of the workarounds suggested online works. Any hints on how to resolve this when developing a custom visual?

 

 

 

 

3 Replies

  • dm-p's avatar
    dm-p
    Super User

    Hi Anonymous,

    I've been able to get this to work through the usual means by setting up a new custom visual on SDK v3. My steps as follows:

    Install moment.js into your project as a dependency, i.e.:

    npm i moment

    Including in my visual.ts, e.g.:

    import * as moment from 'moment';

    And then doing a quick sanity test in my visual constructor, e.g.:

    /** Object exists? */
        console.log(moment());
    /** Should return 'en' */
        console.log(moment().locale());
    /** Display day of week */
        console.log(moment().format('dddd'));
    /** Test additional locale for day of week */
        console.log(moment().locale('de').format('dddd'));

    And I get this in my browser console (confirming moment is accessible):

    If this doesn't work for you we might need to know a bit more about your situation. Are you able to share any code that reproduces the issue for you? If so, it would be useful to get a copy of your package.json (for dependencies) and pbiviz.json (for API version), just so I can verify if there are some specific issues with the combination of how these are set up in conjunction with your code.

    Regards,

    Daniel

    • Anonymous's avatar
      Anonymous
      Not applicable

      dm-p Hi Daniel, I followed your suggested steps, moment works just fine when creating a new project.

       

      The issue appears to be related to incompabilities in old packages, as the project is non es2015 and was created on api v1.12. I am fine with sharing anything if you have the time to look into these legacy issues.

       

      I have inherited this project and the issues from someone else.