I have a working api with Node.js and PostgreSQL. When I convert the code to ES6 I get the following error when I running node index.js from terminal.
node:internal/process/esm_loader:74
internalBinding('errors').triggerUncaughtException(
^
Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'C:\node\api\queries' imported from C:\node\api\index.jss
Did you mean to import ../queries.js?
at new NodeError (node:internal/errors:258:15)
at finalizeResolution (node:internal/modules/esm/resolve:276:11)
at moduleResolve (node:internal/modules/esm/resolve:699:10)
at Loader.defaultResolve [as _resolve] (node:internal/modules/esm/resolve:810:11)
at Loader.resolve (node:internal/modules/esm/loader:85:40)
at Loader.getModuleJob (node:internal/modules/esm/loader:229:28)
at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:51:40)
at link (node:internal/modules/esm/module_job:50:36) {
code: 'ERR_MODULE_NOT_FOUND'
}
I have three files that have had lines changed:
index.js
const express = require('express')
const bodyParser = require('body-parser')
const db = require('./queries').default
converted to:
import express from 'express'
import { json, urlencoded } from 'body-parser'
import db from './queries'
queries.js
const Pool = require('pg').Pool
conerted to:
import { Pool } from 'pg'
package.json - I have added:
"type": "module",
What else do I need to do to fix this error?