У меня есть js файл, подобный этому:
const {foo} = require('some-lib')
console.log(foo === undefined) // for testing only
module.exports = {
async bar() {
let baz = foo();
}
}
Это дает мне error TypeError: Cannot read property 'foo' of undefined
, даже если console.log печатает false. Что здесь происходит?
(Фактический код примерно второй пример здесь , я пытаюсь использовать функцию buildQuery
.)
EDIT: Для каждого запроса приведен минимальный воспроизводимый пример:
- Установите Strapi с настройкой quickstart (
yarn create strapi-app my-project --quickstart
) - С запущенным Strapi, go для
localhost:1337/admin
, нажмите Content Type Builder
на боковой панели и создайте минимальный article
тип контента. Требуется только заголовок «статья», никаких других атрибутов. - В
Roles & Permissions
, go до public
и выберите все, затем сохраните. - Теперь измените
my-project/api/article/services/article.js
на выглядит так:
'use strict';
const {buildQuery} = require('strapi-utils');
module.exports = {
find() {buildQuery({model: 'article'})}
};
Это дает ошибку, описанную выше при вызове localhost:1337/article
. Обратите внимание, что пример взят почти дословно из документации Strapi , а также обратите внимание, что console.log(buildQuery === undefined)
непосредственно после импорта печатает false.
EDIT2:
Кажется, что это на самом деле это ошибка в Strapi, я открыл вопрос об их репозитории GitHub: https://github.com/strapi/strapi/issues/5306