wepack.dev.server.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. const fs = require('fs')
  2. const path = require('path')
  3. const bodyParser = require('body-parser');
  4. const langDir = path.join(__dirname, '../src/lang')
  5. module.exports = function(app, server) {
  6. app.use('/dev', bodyParser.json());
  7. app.use('/dev', bodyParser.urlencoded({ extended: false }));
  8. app.get('/dev/lang/:id', function(req, res) {
  9. let filePath = path.join(langDir, req.params.id + '/modules')
  10. const files = fs.readdirSync(filePath)
  11. let data = {}
  12. files.forEach(item => {
  13. delete require.cache[require.resolve(path.join(__dirname, `../src/lang/${req.params.id}/modules/${item}`))]
  14. data[item.replace(/\.\w+$/, '')] = require(path.join(__dirname, `../src/lang/${req.params.id}/modules/${item}`))
  15. })
  16. res.json({ ok: true, data });
  17. });
  18. app.post('/dev/lang/:id', async function(req, res) {
  19. await Object.keys(req.body).forEach(async item => {
  20. await fs.writeFile('./src/lang/' + req.params.id + `/modules/${item}.js`, 'module.exports = ' + JSON.stringify(req.body[item], null, 4), err => {
  21. res.json({ ok: true });
  22. })
  23. })
  24. });
  25. app.post('/dev/news/update', async function(req, res) {
  26. const data = req.body.data
  27. await fs.writeFile('./../common/data/news.js', `${JSON.stringify(data, null, 4)}`, err => {
  28. res.json({ ok: true });
  29. })
  30. })
  31. }