javascript - 类型错误 : migrationCreator is not a function

标签 javascript contentful contentful-management

我正在尝试使用 content-management-api createAsset .

我正在使用的 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不是函数

我查看了 Contentful 文档中的其他内容,但看不到任何有帮助的内容。

我是在尝试正确上传资源还是做错了什么?

最佳答案

您编写的脚本是一个“普通”node.js 脚本。

node contentful-import.js

会很好地完成这项工作。 内容空间迁移使用特定格式的特定脚本(它们必须导出migrationCreator)。有效的迁移将是:

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

contentful-cli 使用 contentful-migration在引擎盖下。您将在那里找到更多文档。

我将立即为 CLI 文档打开 PR。 :)

关于javascript - 类型错误 : migrationCreator is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52301947/

相关文章:

javascript - 内容丰富 如何解决子引用链接?

javascript - 使用 Javascript 在 hidden_​​field_tag 中保存一个值

javascript - 创建回调以从函数返回数组

java - 尝试将图像上传到 VIA Contentful Content Management API JAVA

Contentful Javascript API - 通过 slug 查找条目

graphql - 使用 GraphQL API 内容式获取所有标签

javascript - 如何设置 contentful.js api 调用 rateLimit

javascript - AngularJS 使用 ng-repeat 在指令中包含范围

javascript - 如何将属性传递给 Backbone View ?

deployment - 构建时出现 gatsby-source-contentful 选项错误