npm init 和 yarn create
我们会在很多的官方网站上看到使用 npm init 或 yarn create 来创建和初始化项目的命令,这其实是一个创建项目的 语法糖 命令。
以 create-react-app 官方的例子做介绍。我们用此包创建项目的话,完全手动的方式就是:
- 安装
create-react-app
yarn global add create-react-app
npm i create-react-app -g
- 创建项目
create-react-app my-app
而如果通过 npm init 或 yarn create 来创建就可以省略为一步:
yarn create react-app my-app
npm init react-app my-app
根据上面的介绍,会发现这其中有一个规律,就是用 init、create 创建时,原完整的包名 create-react-app 就可以省略 create- 了。
原因是在命令的内部,它们帮我们做了一些操作:
- 如果是
yarn: 会先全局安装create-react-app,然后调用create-react-app my-app来创建项目; - 如果是
npm: 会执行npm exec create-react-app命令,过程也是安装包然后调用create-react-app内的主命令文件,等同于create-react-app my-app;
根据包管理器的这些特性,我们若希望简化用户使用包时,应当创建一个包名以 create- 开头的包并提供主 bin 文件以供包管理工具或用户调用。
参考资料:npm ini 、 yarn create