Can not import custom created class in JS

Viewed 233

I am importing the following class which I created like so

import Select from './operations/select.js'

select.js

export default class Select{
    constructor(db){
        this.db = db
    }

    allGenres(){
        return new Promise((res,rej)=>{
            this.db.all(`SELECT * FROM genre`,(err,rows)=>{
                if(err) res(err)
                else res(rows)
            })
        })
    }
}

I wish to do something like

return await new Select(db).allGenres()

But I am getting the following

(node:38769) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
/home/lucky/workspace/web/vibe-backend/index.js:2
import Select from './operations/select.js'
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at wrapSafe (node:internal/modules/cjs/loader:1018:16)
    at Module._compile (node:internal/modules/cjs/loader:1066:27)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1131:10)
    at Module.load (node:internal/modules/cjs/loader:967:32)
    at Function.Module._load (node:internal/modules/cjs/loader:807:14)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
    at node:internal/main/run_main_module:17:47

thank you for yout time.

1 Answers

Change to:

const Select = require('./operations/select.js');
Related