记一次开发代码分享网站开发经历(一)

155 阅读2分钟

  开发这个网站起于在工作中总是要开发组件,功能函数之类的,有时还会重复开发造轮子,所以想着开发一个网站解决这类事情的发生。

  用到的技术栈主要是前端React+vite+less,后端node,数据库MongoDB。具体到ui库之类的就不详细介绍了。

iShot2022-01-12 17.50.10.png 初期功能比较简单,一个一个来实现。

代码提交规范

feat:新功能(feature)。

fix/to:修复bug,可以是QA发现的BUG,也可以是研发自己发现的BUG。

  • fix:产生diff并自动修复此问题。适合于一次提交直接修复问题
  • to:只产生diff不自动修复此问题。适合于多次提交。最终修复问题提交时使用fix

docs:文档(documentation)。

style:格式(不影响代码运行的变动)。

refactor:重构(即不是新增功能,也不是修改bug的代码变动)。

perf:优化相关,比如提升性能、体验。

test:增加测试。

chore:构建过程或辅助工具的变动。

revert:回滚到上一个版本。

merge:代码合并。

sync:同步主线或分支的Bug。

scope(可选)

scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

例如在Angular,可以是location,browser,compile,compile,rootScope, ngHref,ngClick,ngView等。如果你的修改影响了不止一个scope,你可以使用*代替。

subject(必须)

subject是commit目的的简短描述,不超过50个字符。

建议使用中文(感觉中国人用中文描述问题能更清楚一些)。

  • 结尾不加句号或其他标点符号。

项目基础布局

iShot2022-01-12 15.47.49.png

布局代码

const HomePage: React.FC = ({ children }) => {
  // 收缩侧边栏
  const [collapsed, setCollapsed] = useState<boolean>(false);
  return (
    <Layout
      className="layout"
      style={{
        minHeight: "100vh",
      }}
    >
      <Header
        style={{
          background: "#fff",
          padding: 0,
        }}
      >
        <div className={`${styles.nav_header} ${styles.box_shadow}`}>
          <HomeHeader />
        </div>
      </Header>
      <Layout
        style={{
          paddingTop: "10px",
        }}
      >
        <Sider
          collapsible
          theme="light"
          collapsed={collapsed}
          onCollapse={() => setCollapsed(!collapsed)}
          className={styles.box_shadow}
        >
          <Menu
            defaultSelectedKeys={[`${useLocation().pathname}`]}
            mode="inline"
          >
            <Menu.SubMenu key="sub2" icon={<DesktopOutlined />} title="测试">
              <Menu.Item key="/custom">
                <Link to={"/custom"}>测试</Link>
              </Menu.Item>
            </Menu.SubMenu>
            <Menu.Item key="/locale" icon={<FileOutlined />}>
              <Link to={"/locale"}> 测试</Link>
            </Menu.Item>
          </Menu>
        </Sider>
        <Layout>
          <Content
            className="site-layout-background"
            style={{
              padding: 15,
              minHeight: 280,
            }}
            // style={{ margin: "16px 16px" }}
          >
            {children}
          </Content>
          <Footer style={{ textAlign: "center" }}>
            vite-react-template ©2022 Created by yang
          </Footer>
        </Layout>
      </Layout>
    </Layout>
  );
};

项目持续更新,先做主要功能,后期再进行优化代码

end