dev.js 918 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. const debug = require('debug')('crowi:crowi:dev');
  2. const path = require('path');
  3. const webpack = require('webpack');
  4. const helpers = require('./helpers')
  5. class CrowiDev {
  6. /**
  7. * Creates an instance of CrowiDev.
  8. * @param {Crowi} crowi
  9. * @param {any} server http server
  10. * @param {any} app express
  11. *
  12. * @memberOf CrowiDev
  13. */
  14. constructor(crowi, server, app) {
  15. this.crowi = crowi;
  16. this.server = server;
  17. this.app = app;
  18. }
  19. setupTools() {
  20. this.setupEasyLiveReload();
  21. }
  22. setupEasyLiveReload() {
  23. if (!helpers.hasProcessFlag('watch')) {
  24. return;
  25. }
  26. const livereload = require('easy-livereload');
  27. this.app.use(livereload({
  28. watchDirs: [
  29. path.join(this.crowi.viewsDir),
  30. path.join(this.crowi.publicDir),
  31. ],
  32. checkFunc: function(x) {
  33. return /\.(html|css|js)$/.test(x);
  34. },
  35. }));
  36. }
  37. }
  38. module.exports = CrowiDev