【问题标题】:package.json - how to determine what parts of the module are installedpackage.json - 如何确定安装了模块的哪些部分
【发布时间】:2019-02-28 04:55:04
【问题描述】:

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

__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 类似的语法,但 reversed:包括文件、目录或 glob 模式(*、**/ 和 这样)将使文件包含在压缩包中 打包。省略该字段将使其默认为 [""],这意味着 它将包括所有文件

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

我在 npm 5.6.0 和节点 v9.11.2

【问题讨论】:

    标签: javascript node.js npm package.json


    【解决方案1】:

    快到了!文件条目的行为类似于.gitignore。这行得通:

    "files": ["src"]
    

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

    【讨论】:

    • 抱歉,已更正错字。是的,删除/。您可以通过运行npm pack 来测试您想要的文件是否正确包含
    • 嗯,当我使用 / 在原始版本上运行 npm pack 时,我看到了将其作为依赖项安装时的期望。
    • 如果我通过 url 安装,这会有所不同,所以我的 package.json 看起来像 "name": "git+https://restofurl#v0.0.1",
    • 为什么不能直接选择a-normal-package-name
    • 还没有在我们的内部仓库中设置?不确定,但没有 url 就无法安装
    猜你喜欢
    • 1970-01-01
    • 2016-01-04
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    • 2015-10-10
    • 2019-08-15
    • 2010-11-17
    相关资源
    最近更新 更多