• 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.5k 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 @strawberry 3.141
    last edited by Feb 13, 2021, 12:14 PM

    @strawberry-3-141 said in Integrating an npm module that uses import:

    @lavolp3 which version of nodejs are you running? import is a feature of es6 modules. You can try to enable it like this https://stackoverflow.com/a/45854500

    Thanks for the tip. Upgraded to node.js 14.15 but did not work yet.
    Seeing "type": "module in my package.json also did not help.
    I will have to have a closer look at the link

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

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

      @lavolp3 yiu can also use

      const ax = require('axios')
      

      in node_helper.js
      after npm install axios

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      L 1 Reply Last reply Feb 13, 2021, 2:15 PM Reply Quote 0
      • 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
                      • 1
                      • 2
                      • 1 / 2
                      1 / 2
                      • First post
                        7/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