Apostrophecms使用

Apostrophecms使用

地址

系统要求

版本

Software Minimum Version
Node.js 12.x+
MongoDB 3.6+
ImageMagick(optional) Any

查看版本命令

node -v && npm -v
# This will display your Node.js version and npm version (installed with Node),
# if installed.
mongod --version
# This will display your MongoDB version, if installed.
which convert && which identify
# This will display the location of the ImageMagick utilities, if installed.

使用

全局安装Apostrophe CLI tool

npm install -g @apostrophecms/cli
# Or `yarn global add @apostrophecms/cli`, if you prefer. We'll stick to npm commands.

cli创建项目

apos create apos-app

设置管理员密码

node app @apostrophecms/user:add my-user admin
# Replace `my-user` with the name you want for your first user.

启动


二次开发

目录结构

app.js 应用程序的核心。这是您告诉 Apostrophe 项目中有哪些模块并设置一些顶级参数的地方。
/modules 所有项目级模块和已安装模块的配置。
/public 公共、静态文件(不通过 CMS 管理)。撇号会在里面生成特定的目录,但你也可以根据需要使用它。
/views 不属于任何一个模块的模板文件。Apostrophe 在此处查找站点包装模板,包括layout.html.

核心模块配置全部在 : 的子目录中modules完成modules/@apostrophecms。

新建模块

js内容

// modules/task/index.js
module.exports = {
  extend: '@apostrophecms/piece-type',
  options: {
    label: 'Task',
  },
  fields: {
    add: {
      main: {
        label: 'Detail',
        type: 'area',
        options: {
          widgets: {
            '@apostrophecms/rich-text': {},
            '@apostrophecms/image': {},
            '@apostrophecms/video': {}
          }
        }
      },
      contribution: {
        label: 'Contribution Value',
        type: 'float'
      },
      taskImage: {
        label: 'Task Image',
        type: 'area',
        options: {
          widgets: {
            '@apostrophecms/image': {}
          }
        }
      },
    },
    group: {
      config: { 
        label: 'Config', 
        fields: [ 'title', 'contribution', 'taskImage', 'main' ] 
      },
      utility: { 
        fields: [ 'slug', 'visibility' ] 
      }
    }
  }
};

说明

  • extend 表示继承
  • option 显示标签
  • fields 设置内容,其中type为area 中可以挂载工件widgets
  • group 用于分组展示,basics和utility是两个内置的分组,可以通过重新来改变

app.js中引用

// app.js
require('apostrophe')({
  shortName: 'my-website',
  modules: {
    'task': {}
  }
});

引用后界面上就可以看到这个模块渲染出来

REST API

配置

当需要将接口提供给其他平台使用时,需要配置apikey

// modules/@apostrophecms/express/index.js 
  module.exports = {
  options: {
    session: {
      // If this still says `undefined`, set a real secret!
      secret: 'myapikey'
    }
  }
};
  // app.js
    '@apostrophecms/express': {
      options: {
        apiKeys: {
          'myapikey': {
            role: 'admin'
          }
        }
      }
    },

请求

通过如下地址即可访问到上方task模块对应的数据

GET http://localhost:3000/api/v1/task?apikey=myapikey

   转载规则


《Apostrophecms使用》 SunnyZhifei 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录