Я написал скрипт, который берет файл JSON и выводит его на конечную точку API с помощью функции Functions
Netlify (https://functions.netlify.com/). По большей части это работает без проблем, однако один из моихна конечных точках много текста, и для простоты редактирования я разбил большие текстовые блоки на файлы разметки, которые я затем загрузил в конечную точку.
Локально это работает отлично, но при развертывании я получаю консольошибка: Failed to load resource: the server responded with a status of 502 ()
. Я предполагаю, что это потому, что я использовал метод узла fs
, а Netlify не позволяет этого, однако я не могу найти никакой информации об этом.
Код, который я имеюиспользуется здесь:
const marked = require('marked')
const clone = require('lodash').cloneDeep
const fs = require('fs')
const resolve = require('path').resolve
const data = require('../data/json/segments.json')
// Clone the object
const mutatedData = clone(data)
// Mutate the cloned object
mutatedData.map(item => {
if (item.content) {
const file = fs.readFileSync(resolve(`./src/data/markdown/${item.content}`), 'utf-8')
item.content = marked(file)
}
})
exports.handler = function(event, context, callback) {
callback(null, {
statusCode: 200,
body: JSON.stringify({data: mutatedData})
});
}
Я также пытался заменить
const file = fs.readFileSync(resolve(`./src/data/markdown/${item.content}`), 'utf-8')
на
const file = require(`../data/markdown/${item.content}`)
, но это жалуется на загрузчик, и я хотел бычтобы избежать добавления конфигураций веб-пакетов, если это возможно, поскольку я использую create-react-app
, кроме того, я сомневаюсь, что это поможет, так как я все еще буду получать доступ к файловой системе после времени сборки.
Кто-нибудь еще сталкивался с этимвопрос раньше?