自定义注册表 - 为什么只提取 package.json?

问题描述 投票:0回答:1

出于安全原因,我需要设置一个自定义的 npm-registry。

我使用以下命令配置本地 http 注册表 (nginx):

npm config set @example:registry=http://localhost/

然后我将两个文件放置到nginx

.
..
@example%2fmodel
model.tgz

@example%2fmodel
的内容是:

{
  "name":"Model", 
  "dist-tags":{"foo":"1.0.0"},
  "versions":{
    "1.0.0":{
      "version":"1.0.0", 
      "dist":{"tarball":"model.tgz"}
    }
  }
}

model.tgz
的内容是
package.json
Model.ts

Model.ts
(来自 tarball)是:

export const URL = 'https://example.com/';
export const USER = 'apiv2';
export const PASS = '***';

package.json
(来自 tarball)是:

{"name":"Model","version":"1.0.0","files":"*.ts"}

如您所见,它非常简单且简单。

然后我做:

npm install @example/model
added 1 package in 0.347s
npm info ok

效果很好。但我的

Model.ts
不见了

npm npm-install npm-registry
1个回答
0
投票

可选的

files
属性字段是文件模式数组。 因此,根据上述内容,您的
package.json
应如下所示:

{
   "name":"Model",
   "version":"1.0.0",
   "files":["*.ts"]
}

方数组括号

[]
确保其中声明的任何文件类型在打包时都将包含在 tarball 中。

请参阅此处的文档:配置 NPM:package.json - 文件属性

© www.soinside.com 2019 - 2024. All rights reserved.