Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js .npmignore-忽略所有*.ts文件,但不忽略*.d.ts_Node.js_Npm_Npm Install_Npmignore - Fatal编程技术网

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

Node.js .npmignore-忽略所有*.ts文件,但不忽略*.d.ts,node.js,npm,npm-install,npmignore,Node.js,Npm,Npm Install,Npmignore,我正在寻找一种在发布到NPM时忽略项目中所有.ts文件的好方法,我可以通过将以下内容添加到我的.npmignore文件中来实现这一点: *.ts 但是等等..实际上我想在我发布时保留项目中的所有.d.ts文件 我可以向.npmignore文件中添加哪些内容来保留所有.d.ts文件,但忽略所有.ts文件 我假设我必须使用某种形式的正则表达式来忽略所有以.ts结尾而不是以.d.ts结尾的文件 因此,用于此的JS正则表达式可能如下所示: *.\.[^d]\.ts 上面的正则表达式的意思是匹配任何以

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

*.ts
但是等等..实际上我想在我发布时保留项目中的所有
.d.ts
文件

我可以向.npmignore文件中添加哪些内容来保留所有
.d.ts
文件,但忽略所有
.ts
文件

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

因此,用于此的JS正则表达式可能如下所示:

*.\.[^d]\.ts
上面的正则表达式的意思是匹配任何以.ts结尾而不是以.d.ts结尾的内容

但当然,我认为操作系统等使用的正则表达式功能较弱。it文档中指出:

.npmignore
文件遵循as
.gitignore
文件:

在这种情况下,您可以使用
.npmignore
中的
.d.ts
文件对其进行反求。例如,在您的
.npmignore
中,您只需:

# ignore the .ts files
*.ts

# include the .d.ts files
!*.d.ts

所以include将覆盖ignore?是的,
.npmignore
配置只是说ignore all
.ts
(即
*.ts
),并使用撇号
你的话,但要跟踪
.d.ts
(即
!*.d.ts
),即使你忽略了前面语句中的
.ts
文件。是的,请注意使用!就我所知,它必须排在最后。