• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

Integrating an npm module that uses import

Scheduled Pinned Locked Moved Development
13 Posts 4 Posters 3.6k Views 4 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    lavolp3 Module Developer @sdetweil
    last edited by lavolp3 Feb 13, 2021, 2:15 PM Feb 13, 2021, 2:15 PM

    @sdetweil that’s not sufficient. There are two more modules imported by the picnic-api module. I could require them all in node_helper but that looks too of much a workaround for me. There should be another way.

    How to troubleshoot modules
    MMM-soccer v2, MMM-AVStock

    S 1 Reply Last reply Feb 13, 2021, 2:46 PM Reply Quote 0
    • S Offline
      sdetweil @lavolp3
      last edited by Feb 13, 2021, 2:46 PM

      @lavolp3 sometimes u get to do things that arent perfect. but get to move on.

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 0
      • K Online
        karsten13 @lavolp3
        last edited by Feb 13, 2021, 7:29 PM

        @lavolp3

        • rename node_helper.js to node_helper.mjs

        worked in my test (did not do anything with the imported axios, but mm starts).

        S 1 Reply Last reply Feb 13, 2021, 7:39 PM Reply Quote 0
        • S Offline
          sdetweil @karsten13
          last edited by Feb 13, 2021, 7:39 PM

          @karsten13 was node_helper loaded? i doubt it. its optional. so this doesnt help

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          K 1 Reply Last reply Feb 13, 2021, 8:06 PM Reply Quote 0
          • K Online
            karsten13 @sdetweil
            last edited by Feb 13, 2021, 8:06 PM

            @sdetweil no :crying_face:

            may using esm library is one approach as described e.g. here https://blog.logrocket.com/how-to-use-ecmascript-modules-with-node-js/

            S 1 Reply Last reply Feb 13, 2021, 8:15 PM Reply Quote 0
            • S Offline
              sdetweil @karsten13
              last edited by sdetweil Feb 13, 2021, 8:36 PM Feb 13, 2021, 8:15 PM

              @karsten13 in node… but we have a custom environment, that is not node pure…

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              1 Reply Last reply Reply Quote 0
              • S Offline
                sdetweil
                last edited by Feb 14, 2021, 12:30 AM

                i helped someone with a similar problem but the n module was wrutten in typescript and down compiled to js

                https://github.com/Mitica/public-holidays-js

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                L 1 Reply Last reply Feb 14, 2021, 7:47 PM Reply Quote 0
                • L Offline
                  lavolp3 Module Developer @sdetweil
                  last edited by Feb 14, 2021, 7:47 PM

                  @sdetweil @strawberry-3-141
                  I can’t get it working.
                  node 14.15 installed.

                  When I require the “picnic-api” npm module the usual way I get the error message inside the "picnic-api module.

                  import axios from "axios";
                  ^^^^^^
                  
                  SyntaxError: Cannot use import statement outside a module
                  

                  When I do the import like described in the readme the error originates in my node_helper.js

                          import PicnicClient, { CountryCodes, ImageSizes, HttpMethods } from "picnic-api";
                          ^^^^^^
                  
                  SyntaxError: Cannot use import statement outside a module
                  

                  I’m lost. At least the environment of the picnic-api module should be a “pure node” environment, why does the import not work at least in that module?

                  Changing the index.js inside picnic-api to an .mjs does not help.

                  Any more ideas?

                  How to troubleshoot modules
                  MMM-soccer v2, MMM-AVStock

                  S 1 Reply Last reply Feb 14, 2021, 7:51 PM Reply Quote 0
                  • S Offline
                    sdetweil @lavolp3
                    last edited by sdetweil Feb 14, 2021, 7:54 PM Feb 14, 2021, 7:51 PM

                    @lavolp3 i do not know. i consider myself a node rookie, and a typescript noobie.

                    because i am away from my systems i am unable to try different solutions… at least a few more weeks

                    if u try w

                    node serverOnly 
                    

                    does it make a difference?

                    there the node engine is running the code, vs the engine thru electron…

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    1 Reply Last reply Reply Quote 0
                    • 1
                    • 2
                    • 1 / 2
                    1 / 2
                    • First post
                      9/13
                      Last post
                    Enjoying MagicMirror? Please consider a donation!
                    MagicMirror created by Michael Teeuw.
                    Forum managed by Sam, technical setup by Karsten.
                    This forum is using NodeBB as its core | Contributors
                    Contact | Privacy Policy