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

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

我正在做一个 React 项目,我有...

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)
})

现在,我只想将数据保存到“/someRoute”上的数据库,但它给我一个错误:'cannot use import outside module'

尝试添加 “类型”:“模块” 给你的package.json。 您还可以将文件扩展名从 .js 更改为 .mjs

NodeJS 最初不支持

import {} from XXX。所以你应该使用

  • const XXX = require()-语法或
  • type: module 在你的 package.json.

导出也是一样:在Node中,你可以使用module.exports = YOUR_FUNCTION_OR_CLASS.