Привет, я пытаюсь создать статическую папку на моем server.js для загрузки изображения, но когда я объявляю const __dirname = path.resolve(), появляется сообщение об ошибке
"const __dirname = path.resolve() ^
SyntaxError: идентификатор '__dirname' уже объявлен"
быть брошенным
require('dotenv').config()
const path = require('path')
const express = require('express')
const server = express()
const { notFound, errorHandler } = require('./middleware/errorMiddleware')
const { connectDB } = require('./config/db')
const productRoutes = require('./routes/productRoutes.routes')
const userRoutes = require('./routes/userRoutes.routes')
const orderRoutes = require('./routes/orderRoutes.routes')
const uploadRoutes = require('./routes//uploadRoutes.routes')
connectDB()
server.use(express.json())
server.get('/', (req, res) => {
res.send('API is running.........')
})
//Routes
server.use('/api/products', productRoutes)
server.use('/api/users', userRoutes)
server.use('/api/orders', orderRoutes)
server.use('/api/upload', uploadRoutes)
server.get('/api/config/paypal', (req, res) =>
res.send(process.env.PAYPAL_CLIENT_ID)
)
const __dirname = path.resolve()
server.use('/uploads', express.static(path.join(__dirname, '/uploads')))
applicationCache.server.use(notFound)
server.use(errorHandler)
//Listen
const PORT = process.env.PORT || 8080
server.listen(
PORT,
console.info(`Server running in ${process.env.NODE_ENV} port ${PORT}`)
)
Кто-нибудь помогите спасибо!
Ваша проблема решена, если вы удалите следующую строку:
const __dirname = path.resolve()
__dirname
уже объявлено в пространстве имен global
.
Более подробную информацию вы можете увидеть в документации
Server.js лежит здесь
Приложение/бэкэнд/server.js
Возможно, вы ищете что-то вроде этого
Приложение/загрузить
Если вы используете __dirname, вы получаете
Приложение/сервер/загрузка
__dirname в скрипте узла возвращает путь к папке, в которой находится текущий файл JavaScript.
Если мы переименуем __dirname в __variableOfChoice. Мы получаем
const __variableOfChoice = path.resolve()
server.use('/uploads', express.static(path.join(__variableOfChoice ,
'/uploads')))
Приложение/загрузить
Я запускал эту команду из ./App "start": "узел бэкэнд/сервер",
Протестировано на Node версии v12.17.0 Вот Как я это сделал