{"_id":"@alleyway-boop/micro-app","name":"@alleyway-boop/micro-app","dist-tags":{"latest":"1.0.0-rcc.16"},"versions":{"1.0.0-rcc.16":{"name":"@alleyway-boop/micro-app","version":"1.0.0-rcc.16","description":"A lightweight, efficient and powerful micro front-end framework","private":false,"main":"lib/index.min.js","module":"lib/index.esm.js","types":"lib/index.d.ts","directories":{"doc":"docs"},"scripts":{"bootstrap":"yarn && npm-run-all --serial install:*","start":"yarn start:main-react16","start:main-react16":"npm-run-all --parallel build:watch start-child:* main-react16","start:main-vue2":"npm-run-all --parallel build:watch start-child:* main-vue2","start:main-vite":"npm-run-all --parallel build:watch start-child:* main-vite","build:watch":"cross-env NODE_ENV='development' rollup -c -w","build":"cross-env NODE_ENV='production' rollup -c && npm run createtype && npm run afterbuild","install:main-react16":"cd dev/main-react16 && yarn","install:main-vue2":"cd dev/main-vue2 && yarn","install:main-vite":"cd dev/main-vite && yarn","install:child-react16":"cd dev/children/react16 && yarn","install:child-react17":"cd dev/children/react17 && yarn","install:child-vue2":"cd dev/children/vue2 && yarn","install:child-vue3":"cd dev/children/vue3 && yarn","install:child-vite2":"cd dev/children/vite2 && yarn","install:child-vite4":"cd dev/children/vite4 && yarn","install:child-angular11":"cd dev/children/angular11 && yarn","main-react16":"cd dev/main-react16 && yarn start","main-vue2":"cd dev/main-vue2 && yarn start","main-vite":"cd dev/main-vite && yarn start","start-child:react16":"cd dev/children/react16 && yarn start","start-child:react17":"cd dev/children/react17 && yarn start","start-child:vue2":"cd dev/children/vue2 && yarn start","start-child:vue3":"cd dev/children/vue3 && yarn start","start-child:vite2":"cd dev/children/vite2 && yarn start","start-child:vite4":"cd dev/children/vite4 && yarn start","start-child:angular11":"cd dev/children/angular11 && yarn start","docs":"docsify serve docs --port 2000","lint":"eslint --cache '**/*.{js,ts}'","lint:fix":"yarn lint --fix","createtype":"node scripts/create_type.js","afterbuild":"node scripts/after_build.js","test:server":"node scripts/test_server.js --start","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","test:unit":"jest src/__tests__/unit","test:unit:coverage":"npm run test:unit -- --coverage","prepublishOnly":"yarn build"},"repository":{"type":"git","url":"git+https://github.com/Alleyway-boop/micro-app.git"},"publishConfig":{"access":"public"},"keywords":["webcomponents","micro-frontend","microapp"],"author":{"name":"cangdu"},"license":"MIT","bugs":{"url":"https://github.com/Alleyway-boop/micro-app/issues"},"husky":{"hooks":{"pre-commit":"lint-staged","commit-msg":"commitlint -E HUSKY_GIT_PARAMS"}},"lint-staged":{"**/*.{js,ts}":["yarn lint"]},"dependencies":{},"devDependencies":{"@babel/core":"~7.12.10","@babel/plugin-transform-runtime":"~7.12.10","@babel/preset-env":"~7.12.11","@babel/runtime":"~7.12.5","@commitlint/cli":"~11.0.0","@commitlint/config-conventional":"~11.0.0","@rollup/plugin-babel":"~5.2.2","@rollup/plugin-node-resolve":"~11.0.1","@rollup/plugin-replace":"~2.4.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"~8.1.0","@types/jest":"~26.0.24","@types/node":"~14.14.19","@typescript-eslint/eslint-plugin":"~4.11.1","@typescript-eslint/parser":"~4.11.1","@webcomponents/webcomponentsjs":"~2.5.0","babel-jest":"~26.6.0","chalk":"~4.1.0","coveralls":"~3.1.1","cross-env":"~7.0.3","custom-elements-es5-adapter":"~1.0.0","docsify-cli":"~4.4.2","dts-bundle":"~0.7.3","eslint":"~7.17.0","eslint-config-standard":"~16.0.2","eslint-plugin-import":"~2.22.1","eslint-plugin-jest":"~24.3.6","eslint-plugin-node":"~11.1.0","eslint-plugin-promise":"~4.2.1","eslint-plugin-standard":"~5.0.0","fs-extra":"~10.0.0","gzip-size":"~6.0.0","husky":"~4.3.6","jest":"~26.6.0","lint-staged":"~10.5.3","live-server":"~1.2.1","node-fetch":"~2.6.1","npm-run-all":"~4.1.5","pretty-bytes":"~5.5.0","react":"~17.0.2","rollup":"~2.35.1","rollup-plugin-terser":"~7.0.2","ts-jest":"~26.5.6","typescript":"~4.1.3"},"_id":"@alleyway-boop/micro-app@1.0.0-rcc.16","gitHead":"c08c0b0e4ce0ccbfc5a4dcbfe0cd6def5484abdf","homepage":"https://github.com/Alleyway-boop/micro-app#readme","_nodeVersion":"22.8.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-STGDpHB1xZoe+f31rmlwwXSv7i/H/VQrFhg8FA7y3U039O/eWo5vGP401ZgmbC1tvyAUpiDlsQwTmxCfJcRZXw==","shasum":"c33827f191b76a17e09d4f9e02e40800d753777b","tarball":"https://registry.npmjs.org/@alleyway-boop/micro-app/-/micro-app-1.0.0-rcc.16.tgz","fileCount":14,"unpackedSize":2375885,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHxnpmi2kn5yjsWnhF6GLoOKUxD8ozMGSOxj+Z7ar+/mAiEAgjljlLE1yVow4DfjJrNxo7Gfl2StR2KPnFxgG8ipmwE="}]},"_npmUser":{"name":"alleyway-boop","email":"yuanfangwa@gmail.com"},"maintainers":[{"name":"alleyway-boop","email":"yuanfangwa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/micro-app_1.0.0-rcc.16_1734066303705_0.9243885414952264"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-13T05:05:03.610Z","1.0.0-rcc.16":"2024-12-13T05:05:03.961Z","modified":"2024-12-13T05:05:04.246Z"},"maintainers":[{"name":"alleyway-boop","email":"yuanfangwa@gmail.com"}],"description":"A lightweight, efficient and powerful micro front-end framework","homepage":"https://github.com/Alleyway-boop/micro-app#readme","keywords":["webcomponents","micro-frontend","microapp"],"repository":{"type":"git","url":"git+https://github.com/Alleyway-boop/micro-app.git"},"author":{"name":"cangdu"},"bugs":{"url":"https://github.com/Alleyway-boop/micro-app/issues"},"license":"MIT","readme":"<p align=\"center\">\n  <a href=\"https://micro-zoe.github.io/micro-app/\">\n    <img src=\"https://zeroing.jd.com/micro-app/media/logo.png\" alt=\"logo\" width=\"200\"/>\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@micro-zoe/micro-app\">\n    <img src=\"https://img.shields.io/npm/v/@micro-zoe/micro-app.svg\" alt=\"version\"/>\n  </a>\n  <a href=\"https://www.npmjs.com/package/@micro-zoe/micro-app\">\n    <img src=\"https://img.shields.io/npm/dt/@micro-zoe/micro-app.svg\" alt=\"downloads\"/>\n  </a>\n  <a href=\"https://github.com/micro-zoe/micro-app/blob/master/LICENSE\">\n    <img src=\"https://img.shields.io/npm/l/@micro-zoe/micro-app.svg\" alt=\"license\"/>\n  </a>\n  <a href=\"https://github.com/micro-zoe/micro-app/blob/dev/Contact.md\">\n    <img src=\"https://img.shields.io/badge/chat-wechat-blue\" alt=\"WeChat\">\n  </a>\n  <a href=\"https://travis-ci.com/github/micro-zoe/micro-app\">\n    <img src=\"https://api.travis-ci.com/micro-zoe/micro-app.svg?branch=master\" alt=\"travis\"/>\n  </a>\n  <a href=\"https://coveralls.io/github/micro-zoe/micro-app?branch=master\">\n    <img src=\"https://coveralls.io/repos/github/micro-zoe/micro-app/badge.svg?branch=master\" alt=\"coveralls\"/>\n  </a>\n</p>\n\n[English](https://github.com/micro-zoe/micro-app)｜简体中文｜[官网文档](https://micro-zoe.github.io/micro-app/)｜[讨论组](https://github.com/micro-zoe/micro-app/discussions)｜[微信群](./Contact.md)\n\n# 📖简介\nmicro-app是京东零售推出的一款微前端框架，它基于类WebComponent进行渲染，从组件化的思维实现微前端，旨在降低上手难度、提升工作效率。它是目前接入微前端成本最低的框架，并且提供了JS沙箱、样式隔离、元素隔离、预加载、虚拟路由系统、插件系统、数据通信等一系列完善的功能。\n\nmicro-app与技术栈无关，对前端框架没有限制，任何框架都可以作为基座应用嵌入任何类型的子应用。\n\n# 如何使用\n## 主应用\n\n**1、安装依赖**\n```bash\nyarn add @micro-zoe/micro-app\n```\n\n**2、在入口文件引入**\n```js\n// main.js\nimport microApp from '@micro-zoe/micro-app'\n\nmicroApp.start()\n```\n\n**3、在页面中嵌入微前端应用**\n```html\n<!-- 👇 name为应用名称，url为应用地址 -->\n<micro-app name='my-app' url='http://localhost:3000/'></micro-app>\n```\n\n## 子应用\n\n**在webpack-dev-server的headers中设置跨域支持。**\n```js\ndevServer: {\n  headers: {\n    'Access-Control-Allow-Origin': '*',\n  },\n},\n```\n\n以上即完成微前端的嵌入，效果如下：\n\n<img src=\"https://img12.360buyimg.com/imagetools/jfs/t1/196940/34/1541/38365/610a14fcE46c21374/c321b9f8fa50a8fc.png\" alt=\"result\" width='900'/>\n\n更多详细配置可以查看[官网文档](https://micro-zoe.github.io/micro-app/docs.html#/zh-cn/start)\n\n# 🤝 参与共建\n如果您对这个项目感兴趣，欢迎参与贡献，也欢迎 \"Star\" 支持一下 ^_^\n\n### 本地运行\n1、克隆项目\n```\ngit clone https://github.com/micro-zoe/micro-app.git\n```\n\n2、安装依赖\n```\nyarn bootstrap\n```\n\n3、运行项目\n```\nyarn start # 访问 http://localhost:3000\n```\n\n更多命令请查看[DEVELP](https://github.com/micro-zoe/micro-app/blob/master/DEVELOP.zh-cn.md)\n\n# FAQ\n[问题汇总](https://micro-zoe.github.io/micro-app/docs.html#/zh-cn/questions)\n<details>\n\n  <summary>micro-app的优势在哪里？</summary>\n  上手简单、侵入性低，只需改动少量的代码即可接入微前端，同时提供丰富的功能。\n\n  具体细节请参考文章：[micro-app介绍](https://github.com/micro-zoe/micro-app/issues/8)\n\n</details>\n<details>\n  <summary>兼容性如何？</summary>\n  micro-app依赖于CustomElements和Proxy两个较新的API。\n\n  对于不支持CustomElements的浏览器，可以通过引入polyfill进行兼容，详情可参考：[webcomponents/polyfills](https://github.com/webcomponents/polyfills/tree/master/packages/custom-elements)。\n\n  但是Proxy暂时没有做兼容，所以对于不支持Proxy的浏览器无法运行micro-app。\n\n  浏览器兼容性可以查看：[Can I Use](https://caniuse.com/?search=Proxy)\n\n  总体如下：\n  - PC端：除了IE浏览器，其它浏览器基本兼容。\n  - 移动端：ios10+、android5+\n</details>\n\n<details>\n  <summary>子应用一定要支持跨域吗？</summary>\n  是的！\n\n  如果是开发环境，可以在webpack-dev-server中设置headers支持跨域。\n  ```js\n  devServer: {\n    headers: {\n      'Access-Control-Allow-Origin': '*',\n    },\n  }\n  ```\n\n  如果是线上环境，可以通过[配置nginx](https://segmentfault.com/a/1190000012550346)支持跨域。\n</details>\n\n<details>\n  <summary>支持vite吗?</summary>\n  \n  支持，详情请查看[适配vite](https://micro-zoe.github.io/micro-app/docs.html#/zh-cn/framework/vite)\n</details>\n\n<details>\n  <summary>支持ssr吗?</summary>\n  \n  支持，详情请查看[nextjs](https://micro-zoe.github.io/micro-app/docs.html#/zh-cn/framework/nextjs)、[nuxtjs](https://micro-zoe.github.io/micro-app/docs.html#/zh-cn/framework/nuxtjs)\n</details>\n\n\n# 贡献者们\n<a href=\"https://github.com/micro-zoe/micro-app/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=micro-zoe/micro-app\" />\n</a>\n\n\n# License\n[MIT License](https://github.com/micro-zoe/micro-app/blob/master/LICENSE)\n","readmeFilename":"README.zh-cn.md"}