wepack.dev.server.js 1.2 KB

12345678910111213141516171819202122232425262728
  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. console.log(filePath)
  11. const files = fs.readdirSync(filePath)
  12. let data = {}
  13. files.forEach(item => {
  14. delete require.cache[require.resolve(path.join(__dirname, `../src/lang/${req.params.id}/modules/${item}`))]
  15. data[item.replace(/\.\w+$/, '')] = require(path.join(__dirname, `../src/lang/${req.params.id}/modules/${item}`))
  16. })
  17. res.json({ ok: true, data });
  18. });
  19. app.post('/dev/lang/:id', async function(req, res) {
  20. await Object.keys(req.body).forEach(async item => {
  21. await fs.writeFile('./src/lang/' + req.params.id + `/modules/${item}.js`, 'module.exports = ' + JSON.stringify(req.body[item], null, 4), err => {
  22. })
  23. })
  24. res.json({ ok: true });
  25. });
  26. }