我已经组建了一个名为Mockery的小库(编辑:现在称为pretendr,因为还有另一个名为mockery的项目),我想把它放在npm中。该库分别具有名为lib
和test
的目录,用于源文件和单元测试。我的package.json中有以下内容:
"files" : [
"Makefile",
"README.md",
"lib/",
"lib/mockery.js",
"test/",
"test/runner.js",
"test/tests.js"
],
"directories" : {
"lib" : "lib",
"test" : "test"
},
"main" : "lib/mockery"
但由于某种原因,我的lib
目录中的所有内容似乎都放在我的npm模块的根目录中。 test
目录自动运行(即使我不包含package.json的"directories"
部分)。如何让npm将我的lib目录内容放在正确的位置?
答案 0 :(得分:4)
我认为这不是因为目录条目,而是在文件条目下也有“lib /”。根据{{3}}:
“files”字段是要包含在项目中的文件数组 如果您在数组中命名文件夹,那么它还将包含该文件夹中的文件 (除非他们会被另一条规则忽略。)
答案 1 :(得分:2)
我已经解决了......这是一个非常愚蠢的错误。原来有一个名为mockery
的包,我的名为Mockery
,它们在目录文件名中看起来非常相似。这是标准做事方式的问题!