JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://unpkg.com/prop-types@15.5.10/prop-types.js"></script>
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<div id="container"></div>
Babel + JSX
import express from 'express'
import bodyParser from 'body-parser'
import mongoose from 'mongoose'
import routes from './routes'
import path from 'path'
import dotenv from 'dotenv'
dotenv.config()
const app = express()
const MONGO_URI =
'mongodb+srv://' +
process.env.DB_USER +
':' +
process.env.DB_PASS +
'@cluster0-ft0n5.mongodb.net/app?retryWrites=true&w=majority'
mongoose
.connect(MONGO_URI, { useNewUrlParser: true })
.then(app.listen(8070, console.log('Listening on port 8070')))
.catch(error => console.log(error))
app.use(bodyParser.json())
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', '*')
res.setHeader(
'Access-Control-Allow-Methods',
'OPTIONS, GET, POST, PUT, PATCH, DELETE'
)
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization')
next()
})
app.use(express.static(path.join(__dirname, 'public')))
app.get('*', (req, res, next) => {
res.sendFile(path.resolve('client', 'build', 'index.html'))
})
app.use('/menu', routes.menu)
app.use((req, res) => {
res.status(404).json({ success: false, message: 'Resource not found.' })
})
//route - routes/menu.js
import { Router } from 'express'
import { getMenu } from '../controllers/menu'
export const router = Router()
router.get('/', getMenu)
export default router
//controller controllers/menu
import { Menu } from '../model/menu'
export const getMenu = (req, res, next) => {
console.log('workin getMenu controller')
const result = Menu.find({})
res.status(200).json({ result })
}