百度上那个说惊悚诸天至尊抄袭哪本小说的怎么还没被删

npm配置-package.json - 简书
npm配置-package.json
npm的package.json的细节处理
这个文档告诉你,你的package.json文件需要什么。它实际上就是JSON,不只是一个js对象字面量
这篇文档里讲的受到的影响。
package.json里最重要的东西是name和version字段。如果没有他们,包都不能安装。name和version一起制定完全独立的。版本随着包修改而改变。
name是项目的称呼。
一些规则:
名字必须小于或者等于214个字符。包括scoped包的scope
不能以.或者_开头
新包里必须不能有大写字母
名字最终会成为url的一部分,一个命令行的参数,并且一个文件夹名。因此,名字里不能包含任何让URL非法的字符。
一些建议:
不要和Node的核心模块名相同
名字里不要带有js或者node。如果他是js,在package.json里使用engine指定
名字可能会是require()的参数,所以应该尽量短,但是要保证合理描述的前提
在创建钱应该先看看npm registry里有没有这个名字
在scope里,名字可以选择性的有前缀,比如:@myorg/mypackage. 查看
version必须能够被解析的。
description
帮助大家找到你的包,会在npm search里展示出来
是一个字符串数组,会帮助大家找到你的包,会在npm search里展示出来
作者的主页
注意:这和url不同。如果你放了一个url字段,那registry会认为它是重定向到在其他地方发布的包,然后spit at you.
Literally. Spit. I'm so not kidding.
项目问题跟踪的链接或者是上报问题的email。看起来是这样:
{ "url" : "/owner/project/issues"
,"email" : ""}
设置其中一个或者都设置都行。如果只提供一个url,bugs的值可以只是字符串,而不用是对象。
为包设置认证,这样大家就知道是怎么授权去使用的,和你对它的限制。
如果使用通用的认证比如BSD-2-Clause或者MIT,添加当前的SPDX认证:
{ "license" : "BSD-3-Clause" }
people fields:author,contributors
author是一个人。contributors就是一群人。person是一个带有name字段和可选的url和email的对象:
{ "name" : "Barney Rubble"
, "email" : ""
, "url" : "/"
或者使用缩写方式,npm会解析的:"myname myemail myurl"
"Barney Rubble && (/)"
email和url都是可选的。npm也设置了顶级的maintainers字段表明你的npm用户信息
files字段是项目包含的文件。如果数组里有文件夹,也会包含那个文件夹里的文件(除非有其他的忽略规则)
可以在根目录或者子目录里提供.npmignore来保证文件是否被引入,即使会是files array。.npmignore文件和.gitignore一样的工作方式。
下面的文件一定会包含,无视设置:
package.json
README(and its variants)
CHANGELOG(and its variants)
LICENSE/ LICENCE
相反地,一些文件总是会被忽略掉
.lock-wscript
.wafpickle-N
npm-debug.log
main字段是程序模块的主要入口。也就是说,如果你的包名是foo,并且有个用户安装了,然后使用require("foo"),那么main module的exports会被返回。
应该有一个module ID关联到根目录文件夹。
对于大多数模块,有一个main script就够了。
很多包有一个或者多个你想安装到PATH的可执行文件。npm让这个很容易(事实上,它是使用这个特性安装"npm"可执行)
为了使用这个,在package.json里提供bin字段,值为命令名字和本地文件名的map。一旦安装,npm会symlink这个文件到prefix/bin作为全局安装。或者./node_modules/.bin/作为局部安装
比如,myapp:
{ "bin" : { "myapp" : "./cli.js" } }
所以,当安装myapp时,会从cli.js脚本创建一个symlink到/usr/local/bin/myapp
如果有单个可执行,并且名字是package的名字,那么只用设置一个字符串就够了:
{ "name": "my-program"
, "version": "1.2.5"
, "bin": "./path/to/program" }
{ "name": "my-program"
, "version": "1.2.5"
, "bin" : { "my-program" : "./path/to/program" } }
指定单个文件或者多个文件名,让man程序查找
如果只有一个文件,那么安装就像从man &pkgname&的结果,无视真正的文件名:
{ "name" : "foo"
, "version" : "1.2.3"
, "description" : "A packaged foo fooer for fooing foos"
, "main" : "foo.js"
, "man" : "./man/doc.1"}
将会link到./man/doc.1文件,这样就是man foo的目标。
如果文件名不是从package name开始的,那么它是有前缀的:
{ "name" : "foo"
, "version" : "1.2.3"
, "description" : "A packaged foo fooer for fooing foos"
, "main" : "foo.js"
, "man" : [ "./man/foo.1", "./man/bar.1" ]}
将会创建文件做man foo和man foo-bar
man文件以数字结尾,如果被压缩了,可以是.gz。数字决定那个man section the file is installed into.
{ "name" : "foo"
, "version" : "1.2.3"
, "description" : "A packaged foo fooer for fooing foos"
, "main" : "foo.js"
, "man" : [ "./man/foo.1", "./man/foo.2" ]}
会为man foo和`man 2 foo创建入口
scripts属性是一个目录包含着在包的生命各个时期运行的脚本命令。key是生命周期的事件,value是在那个点运行的命令
repository
指定代码存放的位置。对想要贡献的人有帮助。如果git repo在GitHub上,那npm docs命令可以用来找到你.
如果是这样:
"repository" :
{ "type" : "git"
, "url" : "/npm/npm.git"
"repository" :
{ "type" : "svn"
, "url" : "/svn/trunk/"
这个URL应该是公开的能访问到的(可能是只读的)的指向没有任何修改的VCS程序的url。这个url不应该是一个html项目页面。
对于GitHub,GitHub gist, Bitbucket或者GitLab库,你可以使用相同的快捷语法使用npm安装:
"repository": "npm/npm"
"repository": "gist:11081aaa281"
"repository": "bitbucket:example/repo"
"repository": "gitlab:another/repo"
在持续升级的包脚本里使用config对象设置配置参数。比如,如果包邮以下:
{"name": "foo"
, "config" : {"port": "8080"}}
然后start命令里引用npm_package_config_port环境变量,那么用户可以通过npm config set foo:port 8001来重写
dependencies
Dependencies在一个简单对象里指向映射一个包名的范围。这个范围是一个有一个或者多个空格分隔的字符串描述器。Dependencies也可以是压缩包或者git URL.23:12 提问
npm安装package.json时repository为空
在编辑package.json 时,请问如果repository为空,那么npm会去哪里找
"repository" :
{ "type" : "git"
, "url" : ""
按赞数排序
google下,从别的地方下载
npm官网或GitHub
其他相似问题

我要回帖

更多关于 诸天至尊抄袭哪本小说 的文章

 

随机推荐