最快的方法来安装节点包的types?
每次我想在我的Nodejs项目中使用types化的包,我必须做两件事情:
- 首先,安装原包装。 例如:
npm install express -S
- 其次,安装它的types定义包。
npm install @types/express -D
我的问题是我感到懒惰,有点累,当我必须做两个步骤才能够使用一个包。 有没有办法做到这一点更快/更聪明?
Bash扩展如何?
如果你可以使用兼容Bash的shell(比如你在Linux / macOS / cygwin上),你可以使用你的shell的大括号扩展function:
npm i -S {,@types/}express
这相当于:
npm i -S express @types/express
然而,这个问题是,它的包和types都将被保存为dependencies
,而不是package.json
devDependencies
。 我们也可能想同时安装几个软件包(和他们的types)。 所以让我们改进我们的命令来解释:
echo express lodash | xargs -n 1 -I % sh -c 'npm i -S %; npm i -D @types/%'
这将安装express
和lodash
,并为他们@types
。 这个命令也会正确地在devDependencies
放置@types
包。
我们可以进一步改进,因为现在它将为每个包和@types
执行一个单独的npm
运行。 让我们看看我们还能做些什么:
P='express lodash' eval 'npm i -S $P; npm i -D `echo $P | sed -E "s/[a-z0-9]+/@types\/&/g"`'
如预期的那样,这将运行npm i
两次:
-
npm i -S express lodash
-
npm i -D @types/express @types/lodash
这是完成function最完整的方法,但在大多数情况下可能太重了。
希望这可以帮助!
- 在Sequelize中创build主键和外键关系
- 为什么在打字稿中声明一个全局的`name`variables,我可以避免使用它吗?
- 在打字稿中使用指挥官
- TypeScript readline.createInterface引发exception
- 获取错误:如何从打字稿中正确使用我的转录和打字的打字稿npm模块?
- TypeScript中的Mongoose方法范围
- Angular 4 CanActivate guard不会加载与服务一起使用的组件; 简单的Observable.of(true)作品
- 要求使用TypeScript,SystemJS和Electron的nodejs“child_process”
- TypeScript是否需要node.js运行?