Open bibi7 opened 6 years ago
CommonJS对包规范的定义:
由包结构和包描述组成。 前者用于组织包的各种结构,后者用来描述包的相关信息
包结构:
一个包就是一个文件,一般都是一个目录打包为zip格式或者其他格式,安装解压后还原为目录。正常来说,一个包应该包含如下东西:
package.json
: 包描述文件。bin
: 用于存放二进制文件的目录。lib
: 用于存放js代码的目录。doc
: 用于存放文档的目录。test
: 用于存放单元测试用例的目录。包描述: package.json,一般用来描述非代码相关的信息。包的重要组成部分,放在根目录之下。
一个描述文件必须包含的相关信息就不写在这里了,比如name
啊,description
啊,version
啊这些,直接标记在书上p34。(内容还挺多的)
p37的一句话惊艳到我了。
CommonJS包规范是理论,npm则是其中的一种实践。
说得真好。
关于npm安装: (虽然了解,不过还是加深一下印象)
npm install xxx
,直接在当前目录下新建node_modules
目录,在该目录下创建xxx
目录并把包解压在这个目录下。
后接--save-dev
以及--save
主要是直接把依赖模块的信息写入package.son,不用手动来输入。
不同点在于:
--save-dev
会把该模块添加到devdependencies
。
如果是--save
的话,会添加到dependencies
。
顾名思义,一种是开发时需要的依赖,另一种是上线运行时需要的依赖,怎么接后缀就看项目模块需要了。
安装好依赖后直接require(xxx)
即可
还有个比较容易的误解,-g
全局安装其实并不是将一个模块安装为全局包的意思,也并不意味着可以在任何地方通过require()
来引用它,实际上-g
是将一个包安装为全局可用的可执行命令。(出自p38。类似于全局可用的命令行?)
package.json
中的scripts
字段也蛮好理解的。
其实就类似于我工作中把git status
和git fetch origin
封装成了gits
和gitfo
一样(。)
比如把npm run dev
封成一个start
, 开发的时候直接npm start
就行
如何发布npm包这一块的笔记就不放了,直接在书上。(包括cmd和amd规范也是)
用倒是会用,不过不曾细致的了解,这一块也是需要看一下。