npm 标签

npm package.json属性详解

概述

package.json必须是一个严格的json文件,而不仅仅是js里边的一个对象。其中很多属性可以通过npm-config来生成

name

package.json中最重要的属性是nameversion两个属性,这两个属性是必须要有的,否则模块就无法被安装,这两个属性一起形成了一个npm模块的唯一标识符。模块中内容变更的同时,模块版本也应该一起变化。
name属性就是你的模块名称,下面是一些命名规则:

  • name必须小于等于214个字节,包括前缀名称在内(如 xxx/xxxmodule)。

  • name不能以"_"或"."开头

  • 不能含有大写字母

  • name会成为url的一部分,不能含有url非法字符

    下面是官网文档的一些建议:

  • 不要使用和node核心模块一样的名称

  • name中不要含有"js"和"node"。 It's assumed that it's js, since you're writing a package.json file, and you can specify the engine using the "engines" field. (See below.)

  • name属性会成为模块url、命令行中的一个参数或者一个文件夹名称,任何非url安全的字符在name中都不能使用,也不能以"_"或"."开头

  • name属性也许会被写在require()的参数中,所以最好取个简短而语义化的值。

  • 创建一个模块前可以先到后边的网址查查name是否已经被占用. https://www.npmjs.com/

阅读全文 »