package.json-如何确定已安装模块的哪些部分

时间:2019-02-27 20:35:49

标签: javascript node.js npm package.json

我有一个这样的项目结构:

__tests__
example
src
.bablerc
.eslintignore
.eslintrd
.gitignore
package.json
package-lock.json
README.md

package.json参数,例如:

{
  "name": "",
  "version": "0.0.1",
  "description": "",
  "main": "src/index.js",
  "scripts": {
    "test": "jest"
  },
  "files": [
    "src/"
  ],
  "repository": {
    "type": "git",
    "url": "url"
  },
  "jest": {
  },
  "devDependencies": {
  },
  "peerDependencies": {
  }
}

当我npm install这个模块时,我只会得到src文件夹,其中包含一个空的index.js文件。目标是仅让用户安装所有src文件夹,而不安装example部分,因为这是一个示例应用程序。我认为"files": ["src/"],将解决此问题。但是,它没有达到我的期望。我没有看到src文件夹中的任何内容。它是空的!

npm文档说:

  

可选文件字段是一系列文件模式,用于描述   当您的软件包作为软件包安装时要包括的条目   依赖性。文件模式遵循与.gitignore类似的语法,但是   反向:包括文件,目录或全局模式(*,** / 和   这样),以使该文件在压缩包中包含   打包。省略该字段将使其默认为[“ ”],这意味着   它将包含所有文件

我如何允许用户安装所有src文件夹而忽略示例文件夹?

我在npm 5.6.0和节点v9.11.2

1 个答案:

答案 0 :(得分:0)

快到了!文件输入的行为类似于.gitignore行。可行:

"files": ["src"]

出于测试目的,您可以运行npm pack --dry-run来检查软件包报告,以在正在开发的软件包上运行npm install时包含哪些文件。