我们知道Gatsby会自动在目录src / pages /中构建页面,其路径与.js文件的名称相同。例如,我有一个文件src / pages / example.js,当我在终端中运行命令gatsby develop
时,该网页将在“ localhost:8000 / example”站点上可用。
但是,考虑到我不允许使用路径“ / example”来构建网页,有没有办法将路径“ / example”列入黑名单,每当我们尝试使用黑名单进行构建时,都停止构建/开发过程路径并在终端上报告错误,例如“不允许您使用黑名单路径构建页面:/ example”?
为了给您更多背景信息,我现在在Docusaurus中建立了一些网站,网址为“ www.example-domain.com/example”。我希望Gatsby在“ www.example-domain.com/example”上构建网站时报告错误,并告诉开发人员此路径已在使用中,以便开发人员可以将example.js的名称更改为其他名称,例如另一个example.js。
答案 0 :(得分:2)
我想您可能可以为此目的使用onCreatePage事件。
在您的gatsby-node.js
中:
exports.onCreatePage = ({ page, actions, reporter }) => {
// Page is an object which amongst other things contains the path
if (page.path.match(/example/) {
reporter.panic('Stop! in the name of love...')
}
}
不确定最好的方法是那里的动作。如果您打印到控制台,可能会错过它。您可以process.exit(1)
或可能重命名该文件。也许这足以使您步入正轨。