ModExamples/mod.ts 位于 ad0bae5e511762743529192fad8c3f490a57b0d3 – ModExamples – SPT-AKI Development zone (sp-tarkov.com)
很简单,就按照第八行那样require相对路径,你自己的JSON配置就导入成对象了。为了防止与其他mod混淆,设成私有。
然后是分支4.1,使用进阶格式的json
重点还是json5
json5之于json,相当于ts之于js,是它的升级版。json最初的设计目的是为了机器、程序之间传递信息,没有考虑到人来看,随着json应用更加广泛,人类也有接触到json的需要,这对json的可读性有了升级要求。因此,json5可以添加注释。
就像这样
{ "name":"nikita", //尼基塔没有騳 "mother":null }
require不支持json5
require对JSON干的事其实就是先读取【文件对象】,然后用JSON模块把它转化成【JS对象】
那么我们就是开头导入模块时候添加JSON5模块、读取文件、然后用JSON5模块把它转化。
const modConfigJson5 = JSON5.parse(vfs.readFile(path.resolve(__dirname, "../config/config.json5")));
path.resolve是解析文件绝对路径(相对路径不行吗?没试过,总之正常照抄就行了)
vfs.readFile是按路径读取文件
JSON5.parse是转化读取的文件
当然,其实不仅是配置,你新增加的物品数据、locale什么的,也能用JSON5