【发布时间】:2012-01-26 21:55:48
【问题描述】:
npm 的 package.json 文档的 devDependencies 部分说要在此处列出您的测试依赖项,以便您的包的用户不必拉下额外的依赖项。在这种情况下,将我的测试目录也添加到.npmignore 是否有意义?
【问题讨论】:
npm 的 package.json 文档的 devDependencies 部分说要在此处列出您的测试依赖项,以便您的包的用户不必拉下额外的依赖项。在这种情况下,将我的测试目录也添加到.npmignore 是否有意义?
【问题讨论】:
是的,大多数人都是这样做的,这里有一些流行的 Node.js 模块的 npmignore 文件:
https://github.com/socketio/socket.io/blob/ab46351a8446516fb4eea3b8333f7c0f18afaac5/.npmignore
其他人将他们想要在package.json files 设置中发布的内容列入许可名单:
https://github.com/senchalabs/connect/blob/master/package.json
https://github.com/strongloop/express/blob/master/package.json
【讨论】:
npm test module。
npm install,以便他们获得所有实际的开发依赖项。当你开始依赖某个模块时,它很糟糕为了使用该模块。
另一种方法是使用lib 文件夹并将所有内容存储在其中。然后您可以配置您的 package.json 以仅考虑该文件夹。
为了工作,您还需要将主文件移动到lib 中并在package.json 中指定它。请参见下面的示例:
{
"name": "your-package",
"main": "./lib/index.js",
"files": [
"/lib"
]
}
更多信息请访问this nice article
【讨论】:
我无法在任何地方明确提到的一件事是 package.json 中的“文件”条目支持使用 !条目的前缀。因此,例如,我有一个如下所示的“文件”条目:
{
"files": [
"lib/**/*",
"!lib/**/*.map"
],
}
我这样做是因为我的 lib 目录包含我不想包含在包中的 .map 文件,这包括除 *.map 文件之外的所有内容。
【讨论】: