2

I'm trying to import another .js file in my main server file "App.js", but I keep getting the syntax error:

SyntaxError:Cannot use import statement outside a module

I did include the "type": "module" in my package.json file.

You can see the line where I'm trying to import the file here;

import {Read as readSensor} from './Sensor.js';

The function that I'm trying to import looks like this:

export async function Read() {
 const res = await fetch(SensorUrl);
 if(res.ok){
 return await res.json();
 }
 else{
 throw new Error('Bad Reading');
 }
}

AFAIK, the syntax of my import/exports is correct, so I really cannot figure out what I'm doing wrong.

asked Apr 8, 2022 at 9:34
2
  • can you try something like import {Read as readSensor} from './Sensor.mjs'; ? Commented Apr 8, 2022 at 9:50
  • Doesn't change anything. I tried to rename App.js to App.mjs, and then I get Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: (path)\app.mjs Commented Apr 8, 2022 at 9:56

2 Answers 2

2

If you are using node js v14 or above, try these:

add "type": "module" in your package.json use --experimental-modules when launching your app, eg: node --experimental-modules index.js

Or you can try this also:

add "type": "module" in your package.json and rename your file with a .mjs extension, the file will look like something Sensor.mjs.

Feel free to add a comment if you face any issue, also pls add your package.json file with node version for better debugging.

Have a look at this link, it might help you.

answered Apr 8, 2022 at 9:56
Sign up to request clarification or add additional context in comments.

Comments

-1

So, I figured it out, and it turns out I'm dumb. I was trying to run this with an outdated version of node.js (12.14.1). It worked as soon as I updated to version 16.14.2. So today I have learned the very valuable lesson of keeping my stuff updated. Thank you for the answers!

answered Apr 8, 2022 at 10:12

1 Comment

yeah, thats why i asked you to check node version.

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.