【React UI工程化】持续集成及项目搭建总结

2022-02-14  本文已影响0人  darkTi

什么是工程化

工程化.png

测试覆盖率

覆盖率.png
1、步骤(添加内容可看github)

①在jest.config.js中添加五句话;
②安装jest-junit依赖;
③package.json的scripts里添加一句命令:cross-env NODE_ENV=test JEST_JUNIT_OUTPUT=./test-results/jest/results.xml jest --config=jest.config.js,暂时命名为“xxx”;
yarn xxx,会生成一个coverage目录,具体操作看下图,打开index.html就可看到各个文件的代码测试覆盖率;

coverage.png

持续集成

目前比较流行的工具

配置 Circle CI

1、自动测试

①以github注册Circle CI,在注册前我们可以先把本次CI的配置文件(.circleci目录下的config.yml文件,文件里面的配置copy即可)先加入并提交;
②注册完成后,根据步骤选择仓库,然后开始Start building;这时就开始按照你config.yml配置的步骤开始工作了;
③这里需要注意的点:config.yml文件中的node版本是否正确;反正就是根据fail提示来见招拆招;

ci.png
2、自动打包
自动打包的配置在config.yml文件里的build配置里
import Icon from './icon/icon';
export {Icon};

但是上面的写法可以变成下面的一句话:

export {default as Icon} from './icon/icon';

具体的知识点可阅读export {default as} from 【深入解读】

3、自动发布
下面的步骤只是在手动发布啦

这时我们已经把包发布到npm了,用户可以通过npm install dui666来安装我们的库了!!!

下面让我们开始不用npm publish就可以自动发布的配置吧~~
major.minor.patch --> (大版本/小版本/补丁版本)
patch:16.8.2 -> 16.8.3   API不变,修复了bug
minor:16.8.2 -> 16.9.0  API有变化,但变化不大,不影响现有代码
major:16.8.2  -> 17.0.0 API变化很大,影响现有代码
4、发布特定分支的代码
- publish:
          requires:
            - build
          filters:
            branches:
              only: /deploy/

添加小徽标

https://shields.io/

JS、JSX、TS、TSX的区别

单独为CI创建一个jest.config.ci.js

制作一个官网

   entry: {
        example: './example.tsx'  //入口文件,example是文件名,可以改成其他的名字
    },
    plugins: [
        new HtmlWebpackPlugin({
            title: 'DUI',
            template: 'example.html'
        })
    ]

项目搭建总结

上一篇 下一篇

猜你喜欢

热点阅读