1 | const express = require('express')
|
2 | const glob = require('glob')
|
3 | const path = require('path')
|
4 | const { createReloadable, isDevelopment } = require('@artsy/express-reloadable')
|
5 |
|
6 | const app = express()
|
7 |
|
8 | if (isDevelopment) {
|
9 | const mountAndReload = createReloadable(app, require)
|
10 |
|
11 | const modules = glob.sync('./components/**/*.js').map(name => path.resolve(name))
|
12 |
|
13 |
|
14 |
|
15 | app.use('/api', mountAndReload(path.resolve(__dirname, 'api'), {
|
16 | mountPoint: '/api',
|
17 | watchModules: [
|
18 | ...modules
|
19 |
|
20 | ]
|
21 | }))
|
22 |
|
23 |
|
24 | mountAndReload(path.resolve(__dirname, 'client'))
|
25 | } else {
|
26 | app.use('/api', require('./api'))
|
27 | app.use(require('./client'))
|
28 | }
|
29 |
|
30 | app.listen(3000, () => {
|
31 | console.log('Listening on http://localhost:3000')
|
32 | })
|