# lego-bricks **Repository Path**: tmzzxa/lego-bricks ## Basic Information - **Project Name**: lego-bricks - **Description**: 慕课网前端架构 组件库封装,使用rollup - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-31 - **Last Updated**: 2024-01-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: 慕课网前端架构 ## README # 慕课乐高业务组件库 # 使用rollup封装组件 ## 特性 * **typescript** * Vue3 * 单元测试 * 提交发布前验证 * travis 实现自动发布 https://docs.npmjs.com/cli/v10/using-npm/scripts 内置 "prepublishOnly": "npm run lint && npm run test&& npm run build" 在运行npm publish之前运行 prepublishOnly ## 代码运行: npm run lint npm run test npm run build git commit npm publish ## 本地测试包 https://docs.npmjs.com/cli/v10/commands/npm-install 测试包好不好用可以使用npm pack打一个包,复制给需要的人测试,然后使用的人用npm install ./aidog-bircks-0.0.0.tgz 可以使用npm pack ## 精简依赖的原则: 将不需要打包的放到 "peerDependencies": { "vue": "^3.0.0" }, ## 业务组件库添加测试用例: https://www.npmjs.com/package/vue-jest 1. npm install --save-dev vue-jest 2. { "jest": { "transform": { "^.+\\.vue$": "vue-jest" } } 可以搭配babel-jest 使用 https://www.npmjs.com/package/babel-jest ## 什么是cicd 持续集成(Continuous Integration) 目的: * 频繁地(一天多次)将代码集成到主干 * 每个集成是自动的 持续交付(Continuous Delivery) 目的: * 频繁地将软件的新版本,交付给质量团队或者用户 * 每个版本都是可交付的 持续部署(Continuous Deployment) 目的: * 代码通过评审以后,自动部署到生产环境 travis 的token最好加密 https://docs.travis-ci.com/user/deployment/npm/ gem install travis travis login --pro travis encrypt --pro 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 --add deplay.api_key git tag -a v1.0.0 -m "1.0.0" git push origin --tags 目前没有走通travis,暂时不做后面再说