TypeError :igrationCreator не является функцией - PullRequest
0 голосов
/ 12 сентября 2018

Я пытаюсь createAsset использовать content-management-api .

Используемый мной скрипт JavaScript

. / Contentful/contentful-import.js

const contentful = require('contentful-management');

const client = contentful.createClient({
  accessToken:'AUTHTOKEN'
});

client
  .getSpace('SPACE')
  .then(space => {
    space.createAsset({
      fields: {
        title: {
          'en-US': 'Example 1'
        },
        description: {
          'en-US': 'Example Description'
        },
        file: {
          'en-US': {
            contentType: 'image/jpeg',
            fileName: 'example1.jpeg',
            upload:'https://example1.jpeg'
          }
        }
      }
    }),
    space.createAsset({
      fields: {
        title: {
          'en-US': 'Example 2'
        },
        description: {
          'en-US': 'Example Description'
        },
        file: {
          'en-US': {
            contentType: 'image/jpeg',
            fileName: 'example2.jpeg',
            upload:'https://example2.jpeg'
          }
        }
      }
    }),
    //... 700 other assets
  })
  .then(asset => asset.processForAllLocales())
  .then(asset => console.log(asset))
  .catch(console.error)

И запускаемая мной функция CLI равна

contentful space migration ./contentful/contentful-import.js

, которая возвращает ошибку TypeError: migrationCreator is not a function

Я смотрел в другом месте в документации Contentful, но я не вижу ничего, что помогает.

Я пытаюсь загрузить ресурсы правильно или я сделал что-то не так?

1 Ответ

0 голосов
/ 13 сентября 2018

Сценарий, который вы написали, является "нормальным" сценарием node.js.

node contentful-import.js

Хорошо подойдет для этого. contentful space migration использует определенные сценарии в определенном формате (они должны экспортировать migrationCreator). Допустимая миграция будет:

module.exports = function (migration, context) {
  const dog = migration.createContentType('dog');
  const name = dog.createField('name');
  name.type('Symbol').required(true);
};

contentful-cli использует contentful-миграции под капотом. Вы найдете больше документации там.

Я сразу открою PR для документации CLI. :)

...