标签: npmignore

我应该.我的测试吗?

我究竟应该投入.npmignore什么?

测试?好像.travis.yml,.jshintrc?运行模块时不需要的任何东西(自述文件除外)?

我找不到任何关于此的指导.

node.js npm npmignore

87
推荐指数
4
解决办法
1万
查看次数

package-lock.json也应该发布吗?

npm 5介绍了package-lock.json,其中的文档就在这里.

它声明该文件旨在包含在版本控制中,因此任何克隆您的包并安装它的人都将具有相同的依赖版本.换句话说,您不应将其添加到.gitignore文件中.

它没有说明的是该文件是否包含在已发布的包中.这个问题可以改为:应该将package-lock.json包含在.npmignore中吗?

gitignore node.js npm npmignore package-lock.json

20
推荐指数
1
解决办法
3666
查看次数

.npmignore和.gitignore有什么区别?

.npmignore和之间有什么区别.gitignore?我应该忽略哪些文件?

git gitignore npm npmignore

17
推荐指数
2
解决办法
6042
查看次数

npm链接不关心package.json或.npmignore中的"files"

我的目标是在发布之前指定我的节点模块中包含哪些文件,并能够在本地测试安装.使用package.json中的"files",如果我发布我的包并安装它,那么我只得到"files"中指定的内容.

当我使用npm链接时不是这种情况.无论是package.json中的"文件"还是.npmignore,npm链接似乎总能给我每个文件.如何在本地测试我的模块安装?

例如:

cd ~/projects/node-redis    # go into the package directory
npm link                    # creates global link
cd ~/projects/node-bloggy   # go into some other package directory.
npm link redis              # link-install the package
Run Code Online (Sandbox Code Playgroud)

如果〜/ projects/node-redis在其package.json中有"files:[lib]",那么在运行"npm link redis"之后,你会希望只有lib出现在〜/ projects/node-bloggy中,但这不是案子.

旁白:我喜欢node和npm,但是如果你看看你的节点模块中有什么,那么自述文件中使用的PNG就会有很多无关的文件.因此,模块非常庞大.

node.js npm package.json npmignore

13
推荐指数
1
解决办法
520
查看次数

如何在.npmignore中的目录中将单个文件列入白名单?

我试图在包npm的目录中只下载一个文件npm install.

该目录看起来像:

+- dist/
   +- 1.0.0/
   +- 1.0.1/
   +- ...lots of other dirs...
   +- file.js
Run Code Online (Sandbox Code Playgroud)

我希望npm忽略所有内容,但file.js我尝试在我的内容中包含以下内容.npmignore:

dist/
!dist/file.js
Run Code Online (Sandbox Code Playgroud)

然而,dist当我安装软件包时,npm仍然会下载所有目录.我认为这应该是有效的,.gitignore但显然我在这里遗漏了一些东西.

package-managers gitignore node.js npm npmignore

10
推荐指数
2
解决办法
3254
查看次数

.npmignore从.gitignore扩展/继承

我知道我不能同时使用它们,但有没有办法使.npmignore文件扩展.gitignore?我有几十个规则.gitignore,我想全部使用它们+一个额外的npm包.如何在不重复所有规则的情况下完成这项工作?

git gitignore npm package.json npmignore

9
推荐指数
1
解决办法
342
查看次数

从本地目录加载 npm 包,无需复制不必要的文件/文件夹,例如 node_modules

假设我必须开发一个 npm 包my-package,它需要由my-project导入和使用。

在开发my-package 时,我需要从 npm 安装和使用其他包。在my-package开发结束时,我将所有相关文件捆绑在dist目录中。由于我不想将node_modules文件夹中的所有文件作为发布包的一部分,我在.gitignore(或.npmignore)中指定排除node_modules文件夹。所以my-package文件夹的最终结构看起来像

my-package
  dist
    ... // all the code of the package to be distributed
  node_modules
    ... // all the node modules
  src
    ... // all source files
  package.json
  .gitignore
Run Code Online (Sandbox Code Playgroud)

现在我在 npm 存储库上发布my-package,然后使用命令将其导入my-projectnpm i my-package

作为这种导入的结果,托管my-project的目录结构类似于

my-project
   ...  // stuff
   node_modules
      my-package
         dist
           ... // all …
Run Code Online (Sandbox Code Playgroud)

npm npmignore npm-install

7
推荐指数
1
解决办法
3353
查看次数

我应该提交在 npm 包中发布的自动生成的文件吗

我有一个用 TypeScript 编写的 NPM 包。我的构建过程采用所有 *.ts 文件并将它们捆绑到 myLib.d.ts、myLib.js 和 myLib.js.map 中。

我的 NPM 包必须包含所有 src/ .ts 文件和这三个 myLib。自动生成的文件。

但是在我的 git 存储库中,我应该提交这三个 myLib.* 自动生成的文件吗?

在npm包中发布不受版本控制的文件是否有问题?

git version-control npm typescript npmignore

4
推荐指数
1
解决办法
1285
查看次数

.npmignore:忽略给定文件类型以外的整个文件夹

背景

我有一个要发布到 npm 的打字稿项目。我所有的 TS 源都在一个名为的文件夹中src,它们被编译到一个名为dist.src可能包含一些 html 模板,可能包含 css 文件和其他资产。作为构建的一部分,这些资产都被复制到 dist 文件夹中。

在 dist 文件夹中也生成了 source map 文件

发布时,我只想发布 dist 文件夹,但我希望 dist 文件夹中的源映射正常工作。

我正在努力实现的目标

当我发布到 npm 时,我想包含整个dist文件夹但忽略文件夹中的所有非 ts 文件src

我需要的原因 .ts文件是 dist 文件夹中的源映射指向这些源文件。调试时,我需要原始源代码才能在浏览器中看到它。

所以,我需要忽略srcEXCEPT 中的.ts文件src

我试过的

根据我的研究,我已经尝试了以下方法,据我所知,这些方法应该有效。

# standard ignores

node_modules/
karma.conf.js
spec/

# ignore src

src/

# override above and include ts files

!src/**/*.ts
!src/**/*.d.ts
Run Code Online (Sandbox Code Playgroud)

当我使用这个文件打包时,我得到了包中的整个 src 文件夹,包括 html、css 和图像文件。

我不确定以上是否适用于直接在src文件夹下的 …

gitignore npm npmignore

4
推荐指数
1
解决办法
4248
查看次数

如何调试.npmignore?

如何将包文件(要发布的文件)列入调试记录.npmignore

我正在寻找类似的等价物git ls-files.gitignore.

到目前为止我找到的唯一方法是打包,然后列出我觉得有点笨拙的档案:

npm pack
tar -tzf <package-id>.tgz
Run Code Online (Sandbox Code Playgroud)

npm npmignore

3
推荐指数
2
解决办法
305
查看次数

.npmignore - 忽略所有*.ts文件,但不忽略*.d.ts

当我发布到NPM时,我正在寻找一种忽略项目中所有.ts文件的好方法,我可以通过在.npmignore文件中添加以下内容来实现:

*.ts
Run Code Online (Sandbox Code Playgroud)

但是等等.d.ts......当我发布时,我想保留项目中的所有文件...

我可以添加到我的.npmignore文件中,该文件将保留所有.d.ts文件但忽略所有.ts文件?

我假设我必须使用某种形式的正则表达式来忽略所有以.ts结尾的.ts结尾的文件.

所以这个JS正则表达式可能如下所示:

*.\.[^d]\.ts
Run Code Online (Sandbox Code Playgroud)

上面的正则表达式应该意味着匹配任何以.ts结尾的.ts结尾的.ts

但是当然我们仍然坚持我认为操作系统等使用的强大的正则表达式.

node.js npm npmignore npm-install

3
推荐指数
1
解决办法
1315
查看次数