В том числе Protobuf возвращает "экспорт" только для чтения
Я пытаюсь включить следующее как protobuf/index.js
const protobuf = require('protobufjs')
const root = protobuf.Root.fromJSON(require('./protobuf_bundle.json'))
const Message = root.lookup('Message')
Message.MessageType = Message.nested.MessageType.values
Message.MessageType.stringValue = (id) =>
`${Message.nested.MessageType.valuesById[id]}(${id})`
let exportableMessages =
Object.keys(root)
.filter((key) => /^[A-Z]/.test(key))
.reduce((acc, key) => {
acc[key] = root[key]
return acc
}, {})
// Add our stringValue enabled Message
exportableMessages['Message'] = Message
module.exports = exportableMessages
Однако, когда я включаю это в любой другой файл с помощью
import protobuf from '../protobuf'
я получил
TypeError: "exports" is read-only
Я не вижу ничего явно очевидного и не могу понять, что это могло бы быть, если бы не это.