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
我在任何地方都没有明确提到过的一件事是,在package.json文件中,“files”条目支持在条目前添加“!”前缀。例如,我有一个看起来像这样的“files”条目:
{
"files": [
"lib/**/*",
"!lib/**/*.map"
],
}
我这样做是因为我的lib目录包含一些.map文件,而我不想将其包含在软件包中。这将包括除*.map文件以外的所有内容。
!/src/**/__tests__/*.test.ts
对我有用。 - Philihp Busbylib
的文件夹,并将所有内容存储在其中。然后,您可以配置您的package.json
只考虑该文件夹。lib
中,并在package.json
中指定它。请参见下面的示例:{
"name": "your-package",
"main": "./lib/index.js",
"files": [
"/lib"
]
}
更多信息可在这篇优秀文章中找到。