构建软件包时,我的/ src文件夹中是否必须有package.json文件?

时间:2019-03-14 16:29:39

标签: typescript npm package.json

我有几个软件包,这些软件包的根目录中有一个package.json文件,而在package.json文件夹中有一个/src文件。构建时,将/src文件复制到/dist文件夹中。 (后来发布到Nexus)。

我想知道这是否是正确的方法,因为在开发时,我只更改了最外面的/package.json file。这意味着/ src文件已被“弃用”。并且更新两个文件很麻烦。

我是否以“正确”的方式进行操作,我是否必须使两个文件保持最新状态?或者我可以只使用一个文件,即“根”文件。

package.json
src/
    index.ts
    package.json
dist/
    index.d.ts
    index.js
    package.json //from src

1 个答案:

答案 0 :(得分:0)

设置项目的方式有点不寻常。通常,项目看起来像这样,在根目录下有一个package.json

.npmignore
package.json
src/
    index.ts
dist/
    index.d.ts
    index.js

您将从项目的根目录运行dist,而不是仅发布npm publish文件夹的内容。新文件.npmignore告诉npm要发布什么 not 。如果您要排除的唯一内容是src,则您的.npmignore将如下所示:

src

然后在package.json中,设置字段maintypings,以告知Node和TS在哪里找到您的代码:

{
  "main": "dist/index.js",
  "typings": "dist/index.d.ts"
  ...
}

(或者,如果您确实只想发布dist的内容,则可以设置另一个构建步骤,将根package.json复制到{{1} }。但是我上面描述的发布策略更为典型。)