'error importing functions and variables from other js files

i am having a server side rendered node-express-js project ..

i have a js file which contains an object , when i am trying to import that file in backend controller files by doing

const _something = require(directory name)

i am able to import it properly

but when i am trying to import the same file in my front-end assets files i am getting an error as following

Uncaught SyntaxError: Cannot use import statement outside a module

on frontend js file i am importing it as :- require {something} from '../../dir_name'

here is my export

PoStatus = {
    "Work Order Raised":"1",
    "Pending Request Approval":"2",
    "Pending Quotes":"3",
    "Quote Pending Approver":"4",
    "Pending Purchase Order":"5",
    "Purchase Order Raised":"6",
    "Purchase Order Closed":"7",
    "Work Order Closed":"8",
    "Rejected":"9",
    "Quote Pending Proc. Mgr.":"10"
  }

module.exports={PoStatus}

and my import is :-

import {PoStatus} from '../../../constants/poStatus'

function approveReturnRejectQuote(status) {
  $.confirm({
    title: 'Confirm!',
    content: `Are you sure you want to $

here is a snapshot of my directory

https://i.stack.imgur.com/sIZQy.png

so i am exporting from constants/poStatus to assets/patra/js/quotesDetails and i am getting a big fat error . however my IDE is giving suggestions regarding what object is imported and what key value pairs it holds but browser throws an error



Solution 1:[1]

In nodeJs (js running on Desktop) to import and export you must use:

require('here the path') 
module.exports = { /* variables to export */ }

And in Js (js running on browser)

import 'here the path'
export { /*here variables*/}

if you want to use import in nodeJs you must config with webpack: https://webpack.js.org/guides/getting-started/ to use moderJs (with import and export) then it will transform to oldJs

My recomendation:

  • If you are building something simple use syntax from nodeJs
  • If you build something more complex you must configure webpack

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 elVengador