Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

179
Views
How to use import with existing Node app?

With Node 16.13.2 I am trying to add the validate module in an existing code base. Reading the 2 year old question I can't make it work with the below PoC. I get

import Schema from 'validate';
^^^^^^
SyntaxError: Cannot use import statement outside a module

Question

Can anyone show me how the below PoC should look like for it to work?

index.js

const mod = require('./mod');

mod.js

import Schema from 'validate';

const test;
module.exports = test;
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

If you want to use the import syntax of es6+ then you will either need to use .mjs files (instead of regular .js files), or you will need to add in a compilation/transpilation step into your pipeline.

Using .mjs

If you change the file name of your mod.js file to mod.mjs, then this should work:

import Schema form 'validate';
export const test;

Then in index.js you will either have to change index.js to index.mjs and change the contents to:

import { test } from './mod.mjs';

..or you can keep index.js and change the contents to:

(async () {
  const { test } = await import('./mod.mjs')
})();

You can read more in this rather comprehensive article i happened across while googling: https://blog.logrocket.com/how-to-use-ecmascript-modules-with-node-js/

Adding a compilation step

There are many different compilers and/or bundlers to pick from, but for regular vanilla javascript I'd recommend sticking to babel.

Freecodecamp has a tutorial for how to set up babel for use with nodejs: https://www.freecodecamp.org/news/setup-babel-in-nodejs/

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!