vlambda博客
学习文章列表

快速实现npm发布React组件库

现在的项目开发,基本上都有依赖npm库,而这些库当然也是开发者发布的,这个是对所有人都开放的,所以我们今天也来发布一个,名称叫react-hooks-extra

因为我之前一直开发react,而react基本上也来到了Hooks开发阶段。所以我发布一个Hooks的库。我们来看看如何实现。

一般来说,针对框架开发组件,会用webpack、Babel、rollup等工具进行打包之后上传到npm上面去,很多时候都是开发者从0去配置,成本较大,相对难一点,如果你不想那样,可以可以试试下面这种。

对于react,现在社区有很多开箱即用的零配置脚手架。所以最简单的就是用这些脚手架工具开发即可。

对于react,有下面几个比较好用。我用的是create-react-hook

1、create-react-library 有中文文档

2、create-react-hook(Hook + TypeScript)

3、nwb

4、tsdx

Part1create-react-hook开发hooks组件

// 1
npm install -g create-react-hook
// 2、终端直接执行
create-react-hook
// 3、
cd react-hooks-extra

你应该得到下面目录

src/index.tsx开发

下面这个是我的代码,我要的效果是事件状态处理。也就是平时的loading。功能包括是否loading,loading文字。

export const useLoadHook = () => {
  let [{ loading, txt = "loading" }, setLoading] = React.useState<{
    loading: boolean;
    txt?: string;
  }>({
    loadingfalse,
    txt"loading",
  });
  return { loading, txt, setLoading };
};

在src/example测试

记得先yarn build。

如果测试没问题。就直接发布即可。

Part2发布

1npm login

如果没有注册,记得去npmjs.com注册。

2npm publish

注意事项:1、在这之前,先确定,npm源是npm官方源,不是淘宝源。2、每次发布记得更新版本号。

最后登录npmjs.com网站看到有了。

Part3使用

yarn add react-hooks-extra -D
import { useLoadHook } from 'react-hooks-extra'
export default function Use({
  const { loading, txt, setLoading} = useLoadHook();
  const add = () =>{
    setLoading({
      loading:true,
      txt'处理中'
    })
  }
  return (
    <>
      <button onClick={() => add()}>click</button>
    </>

  );
}

对于初学者,不建议使用这种脚手架,因为这样学不到什么东西,建议使用上面提到的工具从0实现,这样你会收获很多,这样才能让技术得到提升。

完结撒花!!!!!