codecamp

MorJS 开发工程插件

开发工程插件有两种方法,推荐使用第一种:

  • 方法一:使用官方提供的脚手架初始化工程插件项目,在需要使用的项目中进行引入;
  • 方法二:直接在 MorJS 业务项目的 ​mor.config.ts​ 配置文件中进行编写;

通过脚手架编写 MorJS 工程插件

  1. 全局安装 mor cli 工具
npm i @morjs/cli -g
  1. 通过 mor cli 工具创建项目
mor init
  1. 选择 MorJS 工程插件 回车
? 请选择工程类型 › - Use arrow-keys. Return to submit.
    小程序
    小程序插件
    小程序分包
❯   MorJS 工程插件
    MorJS 运行时插件
    MorJS 运行时解决方案
    MorJS 多端组件库
    MorJS 自定义脚手架
  1. 根据提示完成操作后,即可完成插件项目创建,随后按照 如何使用工程插件 配置到 mor.config.ts 配置文件中进行使用即可
✔ 请选择工程类型 › MorJS 工程插件
✔ 请输入项目名称 … myplugin
✔ 请输入项目描述 … my first plugin
✔ 用户名 … yourUserName
✔ 邮箱 … your@gmail.com
✔ 请输入 Git 仓库地址 … https://github.com/yourUserName/myplugin
✔ 请选择 npm 客户端 › npm / pnpm / yarn

mor.config.* 的工程插件开发(不推荐)

  • 直接在 MorJS 项目的 ​mor.config.ts​ 配置文件中进行编写
import { defineConfig } from '@morjs/cli'

export default defineConfig([
  {
    // name: 'ali',
    // sourceType: 'alipay' ,
    // target: 'alipay',
    // compileMode: 'bundle',
    plugins: [
      {
        name: 'MorJSPluginXXX',
        apply(runner) {
          // modifyUserConfig: 可基于命令行选项修改用户配置
          runner.hooks.modifyUserConfig.tap(
            this.name,
            (userConfig, command) => {
              const { outputPath } = command.options
              // 获取命令行 outputPath 选项,若有则修改 userConfig 的 outputPath 配置为该值
              if (outputPath) userConfig.outputPath = outputPath
              return userConfig
            }
          )
        }
      }
    ]
  }
])


MorJS 使用运行时插件/解决方案
MorJS 开发运行时插件
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

MorJS 指南

MorJS 基础用法

MorJS 配置

MorJS 编译相关配置

MorJS 进阶用法

MorJS Web开发

MorJS Web开发介绍

MorJS Web开发快速上手

MorJS Tabbar IOS 小黑条适配开关

MorJS 社区

MorJS 规范

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }