{"_id":"@aligov/dinamic","_rev":"8-bd1cee4440c0eaeb356ade4cc7c481de","name":"@aligov/dinamic","description":"dinamic for web","dist-tags":{"latest":"3.1.27"},"versions":{"3.1.27":{"name":"@aligov/dinamic","version":"3.1.27","author":{"name":"Jelly"},"license":"MIT","_id":"@aligov/dinamic@3.1.27","maintainers":[{"name":"shenyu.wsy","email":"shenyu.wsy@alibaba-inc.com"},{"name":"liunian","email":"dengjij@gmail.com"},{"name":"tao1991123","email":"tao360907796@gmail.com"},{"name":"itrip","email":"1198488651@qq.com"},{"name":"xiazhiqiang","email":"xiazhiqiangcuc@126.com"},{"name":"zhousufa","email":"zhousufa@gmail.com"},{"name":"mo.zhou","email":"bjfuzm@163.com"},{"name":"guoliang.hgl","email":"guoliang.hgl@alibaba-inc.com"},{"name":"zwhu","email":"zwhu2014@foxmail.com"},{"name":"daip","email":"15858208586@163.com"},{"name":"baizhao","email":"ethan.cqw@alibaba-inc.com"}],"dist":{"shasum":"3bd342a27216590bf75c30cf25abf7ae103a61bc","tarball":"https://registry.npmjs.org/@aligov/dinamic/-/dinamic-3.1.27.tgz","fileCount":252,"integrity":"sha512-Xnaop9PwARNvJ6bZ+SMroaJK0dg+2+VnlN9qQiNLBazmIp1/5qxv7SrAd30PKuwV3wit61Xhq8w0cldiTWK/QA==","signatures":[{"sig":"MEUCIQCYv8sGAxjvHyJH6B+jonJdSp0wLqvY9faSheonhIsorQIgRZVRJ+Csr/UAGzg2d5O3DcNsC0vQI7Mb3gcKYF9izmY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3431075,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzEifCRA9TVsSAnZWagAAjywP/2FKd8ik6x4eI0xJhulN\nWvsVSyhX0sN7QP9HU6tqGsZVJojCHDhTqoq2hw8mwLr+wSTCMgPtsAgim9yP\n1YZRJ0L3yF1DZl8uHiiwM40WjILWsLwNGjK4u7d6KPXs6xhH8Zl3+1j6Gkv4\nWVJfRPKriHV0Wrht+k8U7MJY3WXcNnjRstcULwUrPYi6Lbbn7AgHGerJ/THn\n4urKug+dj96HmD8tt+nj87syw/Sbw05lRiJpmtYlTb63VLRJjYIek5nwlhD7\n7d75mU3X22IO0Xn1zOsX94RAbjMCnR1V4ArrLV2jUMYqa/kljCOn2Kwq4sJ9\nI+7kL8x0qRHSr6XQhoR5O4h+xfS/gNvUDRrbyo423wWcfpf7b9JPaFLnwkFh\nNDeHilNM2Edpxv5kU6ixUxT9EwOhr2U3ksIdaNVr+y5B9fXqFonN4h/p1ni3\nAKQ4XeM4xBrsRPZ3tEfWVGPaSW4+Fp3rYdF0AO4accLxkwf3nRcsSXeScuXf\niMQKukvTjvRLZ449C8HN6917PrND+s6TpxBGHohAH8zMfbwr9u8bd+9nmZsY\nFRWmrg/rlzCqrCLLdGgBGhFWFeEhBg3ZYFBQ0FvyM9anuXWUcg0nOlxbOHzw\na8wBmrgk4yNcCz2XvKxlHXtjWM9RiJ/7pqJM4vu21cOfzs5mA1mmiN7BUF8s\nKC16\r\n=pwCa\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironmentOptions":{"resources":"usable","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1","runScripts":"dangerously"}},"main":"./build/index.js","_from":"@aligov/dinamic@3.1.27","types":"./index.d.ts","module":"./build/index.js","scripts":{"docs":"jsdoc ./src/* --destination ./docs/ --template ./node_modules/better-docs --readme ./README.md --package ./package.json","test":"jest ./test --verbose --passWithNoTests --coverage","build":"tnpm test && tnpm run lint-fix ; rm -rf build ; simplepack p","lint-fix":"def lint ./lib ./index.js --fix && git add -A && git commit -m \"style: 代码格式规范\"","test-ui-lib":"node ./scripts/simplepack/build.js ","patch-publish":"tnpm version patch && tnpm publish"},"_npmUser":{"name":"baizhao","email":"ethan.cqw@alibaba-inc.com"},"_resolved":"https://registry.npm.alibaba-inc.com/@aligov/dinamic/download/@aligov/dinamic-3.1.27.tgz","_npmVersion":"6.13.4","description":"dinamic for web","directories":{},"jsnext:main":"./build/index.js","_nodeVersion":"12.13.0","dependencies":{"react":"^16.5.2","preact":"^8.3.1","react-dom":"^16.5.2","preact-compat":"^3.18.4"},"_hasShrinkwrap":true,"peerDependency":{"rax":"^0.6.4"},"devDependencies":{"jest":"^24.1.0","jsdoc":"^3.5.5","react":"^16.5.0","eslint":"^3.19.0","preact":"^8.3.1","react-dom":"^16.5.0","@babel/core":"^7.3.3","better-docs":"^1.1.4","babel-eslint":"^7.2.3","preact-compat":"^3.18.4","@babel/runtime":"^7.3.1","fake-indexeddb":"^2.0.4","@babel/preset-env":"^7.3.1","eslint-plugin-babel":"^4.1.2","eslint-plugin-react":"^6.10.3","react-test-renderer":"^16.5.2","@babel/plugin-transform-runtime":"^7.2.0","@babel/plugin-transform-react-jsx":"^7.3.0"},"__npminstall_done":true,"optionalDependencies":{"react":"^16.5.2","preact":"^8.3.1","react-dom":"^16.5.2","preact-compat":"^3.18.4"},"_npmOperationalInternal":{"tmp":"tmp/dinamic_3.1.27_1635845607683_0.001748695473525741","host":"s3://npm-registry-packages"}}},"time":{"created":"2021-11-02T09:33:27.627Z","modified":"2024-07-04T09:18:42.594Z","3.1.27":"2021-11-02T09:33:27.887Z"},"maintainers":[{"email":"wanyi.css@alibaba-inc.com","name":"wanyi.css"},{"email":"17682318001@163.com","name":"jasoncapricorn"},{"email":"chris_jun@aliyun.com","name":"qingkaili"},{"email":"hgxjyh@163.com","name":"huguoxin"},{"email":"shenyu.wsy@alibaba-inc.com","name":"shenyu.wsy"},{"email":"dengjij@gmail.com","name":"liunian"},{"email":"tao360907796@gmail.com","name":"tao1991123"},{"email":"1198488651@qq.com","name":"itrip"},{"email":"xiazhiqiangcuc@126.com","name":"xiazhiqiang"},{"email":"bjfuzm@163.com","name":"mo.zhou"},{"email":"guoliang.hgl@alibaba-inc.com","name":"guoliang.hgl"},{"email":"15858208586@163.com","name":"daip"},{"email":"ethan.cqw@gmail.com","name":"baizhao"}],"author":{"name":"Jelly"},"license":"MIT","readme":"## 介绍\n\n### DinamicX 方案介绍\n\nDinamicX 是基于模版的动态化技术，通过模版与页面代码的分离，使页面获得了布局、样式、事件、数据等几部分的动态输入的能力。\n\n它主要包含如下几个特点：\n\n- 区块级：可做区块级介入，不影响整体页面，方便快速分部分接入；\n- 覆盖三端：同时覆盖 IOS, Android, H5，一套模版，三端共享；\n- 易于扩展：View，Parser支持自定义扩展，可以轻松实现丰富的高级模版能力；\n\n\n\n### DinamicX H5 SDK\n\n![H5 DinamicX SDK架构图](https://img.alicdn.com/tfs/TB1KoxBHFzqK1RjSZFoXXbfcXXa-842-708.png)\n\nDinamicX H5 SDK 作为三端技术中的一部分，实现了Native支持的所有基础功能，包括事件处理、表达式解析、模版管理、页面渲染等；实现了从XML模版到 JSON tree中间态的模版预处理，以及在运行时由中间态到虚拟DOM的转化；SDK本身不承载UI渲染能力，虚拟DOM的产出和实际DOM的渲染交给依赖的渲染引擎完成；渲染引擎并不严格限定，理论 React-style UI库均可支持，目前测试过的包括React, Preact以及Rax，渲染引擎的转化可以通过构建时完成，无需任何代码改动；\n\n- 事件处理：支持 tap, longTap, swipe等 native事件\n- 表达式解析：从模版中解析出对应表达式语句，并转化为抽象语法树（AST），完成解析和运行时调用；2.0版本起，支持多层嵌套并内置多达20余个基础表达式，且支持业务个性化扩展\n- 模版管理：管理模版的下载和缓存，支持队列、自动Combo和错误处理，完成缓存并建立更新机制\n- 页面渲染：完成模版结构解析和数据注入，并且调用依赖的渲染引擎做虚拟DOM组装和实际DOM渲染\n\n\n#### SDK 流程图\n\n![H5 DinamicX SDK流程图](https://img.alicdn.com/tfs/TB1UOtyHSzqK1RjSZFpXXakSXXa-1273-833.png)\n\n## 使用方式\n\n### 基础使用\n\n```javascript\nimport * as Dinamic from '@aligov/dinamic';\nimport '@aligov/dinamic-views';\n\nconst url = xx;\nconst data = xx;\n\nconst {Template, Fragment} = Dinamic;\n\nDinamic.render((\n  <Fragment>\n    <Template url={url} data={data}></Template>\n    <Template url={url} data={data}></Template>\n  </Fragment>\n), document.querySelector('#app'));\n```\n\n\b详情 API 参见：https://yuque.antfin-inc.com/dinamicx/dfzn4i/hpfs05\n\n## 代码贡献\n\n请 Follow 如下规范去构建开发环境和提交代码\n\n### 安装tnpm\n\n```shell\nnpm install -g tnpm --registry=http://registry.npm.alibaba-inc.com\n```\n\n\n\n### 安装simplepack\n\n```shell\ntnpm install -g simplepack\n```\n\n\n### 安装def\n\n- 安装 DEF SDK：`tnpm i -g @aligov/def`\n- 执行 `def --version`，正常返回版本信息，表示安装成功\n- 执行 `def login` 完成用户登录注册\n\n\n### 本地开发\n\n前面工具安装完成后, 克隆项目到本地目录，然后在项目根目录完成如下步骤：\n\n安装依赖\n``` shell\ntnpm install\n```\n\n启动调试服务器\n``` shell\ndef dev\n```\n\n\n## 开发规范\n\n### 功能开发规范\n\n所有\b主要功能开发，都需要自测后，调整或补充对应测试用例，并且执行 `tnpm test` pass 所有用例\n\n### 代码格式规范\n\n参考新人手册: <http://handbook.labs.taobao.net/>\n\n\n### 分支规范\n\n{Developer Name}/x.y.z \n\neg. jelly/0.0.1\n\n版本号需按照当前master版本号，patch 位置（末尾位）加一来确定；\n\n最终核心包发布版本号，会在PR合并主干之后，再确定\n\n### 提交规范\n\n参考并简化 Google AngularJS 代码贡献规范\n\n\n\n#### 格式示例\n\n```html\n<!-- 简短格式 -->\n<type>: <subject>\n\n<!-- 完整格式 -->\n<type>: <subject>\n<BLANK LINE>\n<body>\n<BLANK LINE>\n<footer>\n```\n\n\n\n#### Type\n\n具体形式如下:\n- fix: 修复BUG\n- feat: 增加新新特性\n- docs: 仅文档改动\n- perf: 性能优化\n- refactor: 代码逻辑重构\n- style: 仅代码格式变化\n- chore: 仅影响项目构建流程\n- test: 增加测试用例\n\n\n\n\n#### Subject\n\n改动内容的简明描述\n- 全中文或中英文混合均可\n- 长度需小于80字符\n- 结尾不需要标点","readmeFilename":"README.md"}