仅添加一个defineField:
defineField({
name: 'surname',
title: 'Surname',
type: 'string',
}),
在一个已创建的名为“author.ts”的文档中,可以通过“index.ts”文件很好地检索以导出整个模式,SANITY 服务器端 STUDIO 不会应用这一独特的修改。
//author.ts
import {defineField, defineType} from 'sanity'
export default defineType({
name: 'author',
title: 'Author',
type: 'document',
fields: [
defineField({
name: 'name',
title: 'Name',
type: 'string',
}),
defineField({
name: 'surname',
title: 'Surname',
type: 'string',
}),
defineField({
name: 'biography',
title: 'Biography',
type: 'blockContent',
}),
defineField({
name: 'slug',
title: 'Slug',
type: 'slug',
options: {
source: 'name',
maxLength: 96,
},
}),
defineField({
name: 'job',
title: 'Job',
type: 'string',
}),
defineField({
name: 'image',
title: 'Image',
type: 'image',
options: {
hotspot: true,
},
}),
],
preview: {
select: {
title: 'name',
media: 'image',
},
},
})
过去对 SANITY 项目 SchemaTypes 进行的修改,在预览模式生产方面得到了很好的考虑。 然而,在服务器部署过程中的一个简单问题消失后,修改突然停止了(SANITY Production Preview Mode)。
当我启动命令时:
npm run dev | sanity dev
所做的修改得到了很好的应用(SANITY Developer Preview 模式)。
我多次尝试重新启动 SANITY 服务器。 当修改停止在生产模式上共享时,出现的根本区别是以下问题的消失:
“您想部署新的本地服务器吗?是/否”
默认情况下,SANITY CMS 似乎会在之前的服务器语句上登录我。但不知道如何手动彻底断开。
我什至尝试启动命令
npm run logout | sanity logout
没有任何成功。
向我展示,“您没有登录凭据”。
我在 SANITY 论坛上发现了这样一行的实现,但不确切知道要在哪个文件上应用它。
在index.js上吗?
经过多次搜索终于找到了解决办法。
手动应用 SANITY Studio 生产模式的最新更新(启动命令行后:
npm run start | sanity start
如果它不再像官方教程文档中共享的那样自动应用,这是最简单的答案。
运行以下命令:
npm run build | sanity build
这会将架构数据 SchemaTypes 最新组件重建到生产模式概述中。