diff --git a/v2/lib/commands/start.js b/v2/lib/commands/start.js index 581eee8445..b21700ea1b 100644 --- a/v2/lib/commands/start.js +++ b/v2/lib/commands/start.js @@ -40,7 +40,12 @@ module.exports = async function start(siteDir, cliOptions = {}) { }; const docsRelativeDir = props.siteConfig.customDocsPath; const fsWatcher = chokidar.watch( - [`../${docsRelativeDir}/**/*.md`, 'blog/**/*.md', 'siteConfig.js'], + [ + `../${docsRelativeDir}/**/*.md`, + 'blog/**/*.md', + 'siteConfig.js', + 'sidebars.json', + ], { cwd: siteDir, ignoreInitial: true, diff --git a/v2/lib/load/docs/sidebars.js b/v2/lib/load/docs/sidebars.js index ac901ab195..0d8a97b024 100644 --- a/v2/lib/load/docs/sidebars.js +++ b/v2/lib/load/docs/sidebars.js @@ -2,11 +2,14 @@ const fs = require('fs-extra'); const path = require('path'); const {idx} = require('../utils'); -module.exports = function loadSidebars({siteDir, env}) { +module.exports = function loadSidebars({siteDir, env}, deleteCache = true) { let allSidebars = {}; // current sidebars const sidebarsJSONFile = path.join(siteDir, 'sidebars.json'); + if (deleteCache) { + delete require.cache[sidebarsJSONFile]; + } if (fs.existsSync(sidebarsJSONFile)) { allSidebars = require(sidebarsJSONFile); // eslint-disable-line }