D_Gamer
D_Gamer

Reputation: 308

Node.js Error - 'Cannot use import outside of a module'

I am working on a React Project, and I have...

Firebase.js

import firebase from 'firebase/app'
import 'firebase/database'
import 'firebase/auth'

const firebaseConfig = {
    apiKey: process.env.FIREBASE_API_KEY,
    authDomain: process.env.FIREBASE_AUTH_DOMAIN,
    projectId: process.env.FIREBASE_PROJECT_ID,
    databaseURL: process.env.FIREBASE_DATABASE_URL,
    storageBucket: process.env.FIREBASE_STORAGE_BUCKET,
    messagingSenderId: process.env.FIREBASE_MESSAGING_SENDER_ID,
    appId: process.env.APP_ID,
    measurementId: process.env.MEASUREMENT_ID
}

firebase.initializeApp(firebaseConfig)

export const googleAuthProvider = new firebase.auth.GoogleAuthProvider()
export const database = firebase.database()

Server.js

const express = require('express')
const path = require('path')
const { database } = require('../firebase/firebase')

const app = express()
const port = process.env.PORT || 3000
const publicDir = path.join(__dirname, '../public')

app.use(express.static(publicDir))
app.use(express.urlencoded({ extended: true }))

app.post('/someRoute', (req, res) => {
    // Wanna send data to database using 'database'
})

app.listen(port, () => {
    console.log('Server is up on PORT...', port)
})

Now, I just wanna save Data to Database on '/someRoute' but it is giving me an error : 'cannot use import outside module'

Upvotes: 2

Views: 1211

Answers (2)

STh
STh

Reputation: 802

import {} from XXX is not supported initially from NodeJS. So you should either use

  • const XXX = require()-syntax or
  • type: module in your package.json.

The same is for exports: in Node, you can use module.exports = YOUR_FUNCTION_OR_CLASS.

Upvotes: 3

Dark-Boy-INFINITE
Dark-Boy-INFINITE

Reputation: 89

Try adding "type" : "module" to your package.json. You can also change your file extension from .js to .mjs

Upvotes: 1

Related Questions