【NPM专栏】关于npm init和npx
npm init
我们在一些node项目创建的时候,可以经常看到这样的创建项目的方式:
那这个是怎么实现的呢?它其实相当于去读取create-{name}的npm包的bin的create-{name}进行执行:
1 2 3 4 5
| { "bin":{ "create-midway": "dist/index.js" } }
|
然后如果是内部私有npm包,一般带有scope,相当于npm init @xxx/yyy, 则相当于执行了@xxx/create-${yyy} 这个包bin的create-{yyy}的命令:
1 2 3 4 5
| { "bin": { "create-yyy": "dist/index.js" } }
|
npx说明
另外,我们平常还会执行 npx yyy,相当于执行了yyy包里面 bin的yyy命令
npx这边需要说明的是,它原理是去搞了一个临时目录,然后安装好后执行对应命令,每次执行完毕就删除了,所以比较常用,则可以安装个全局的进行执行,但这个好处就是每次都是最新版本。