首页 > 技术文章 > 了解可执行的NPM包

jiasm 2018-10-26 18:14 原文

NPMNode.js的包管理工具,随着Node.js的出现,以及前端开发开始使用gulpwebpackrollup以及其他各种优秀的编译打包工具(大多数采用Node.js来实现),大家都开始接触到一些Node.js,发现了使用NPM来管理一些第三方模块会很方便。
大家搬砖的模式也是从之前的去插件官网下载XXX.min.js改为了npm install XXX,然后在项目中require或者import

当然,NPM上边不仅仅存在一些用来打包、引用的第三方模块,还有很多优秀的工具(包括部分打包工具),他们与上边提到的模块的区别在于,使用npm install XXX以后,是可以直接运行的。

常见的那些包

可以回想一下,webpack官网中是否有过这样的字样:

> npm install webpack -g

> webpack

当然,现在是不推荐使用全局安装模式的,具体原因会在下边提到

以及非全局的安装使用步骤:

> npm install webpack

然后编辑你的package.json文件:

{
  "scripts": {
+    "webpack": "webpack"
  }
}

再使用npm run就可以调用了:

> npm run webpack

以上非全局的方案是比较推荐的做法

不过还可以顺带一提的是在NPM 5.x更新的一个新的工具,叫做npx并不打算细说它,但它确实是一个很方便的小工具,在webpack官网中也提到了简单的使用方法

就像上边所提到的修改package.json,添加scripts然后再执行的方式,可以很简单的使用npx webpack来完成相同的效果,不必再去修改额外的文件。(当然,npx可以做更多的事情,在这里先认为它是./node_modules/webpack/bin/webpack.js的简写就好了)

包括其他常用的一些,像ncreate-react-appvue-cli这些工具,都会直接提供一个命令让你可以进行操作。

自己造一个简易的工具

最近面试的时候,有同学的回答让人哭笑不得:

Q:你们前端开发完成后是怎样打包的呢?
A:npm run build

[黑人问号脸.png]。经过再三确认后,该同学表示并没有研究过具体是什么,只知道执行完这个命令以后就可以了。
我本以为这仅仅是网上的一个段子,但没想到真的被我碰到了。也不知道是好事儿还是坏事儿。。

从我个人的角度考虑,还是建议了解下你所使用的工具。至少看下scripts里边究竟写的是什么咯

推荐阅读