我有一个这样的项目结构:
__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类似的语法,但是 反向:包括文件,目录或全局模式(*,** / 和 这样),以使该文件在压缩包中包含 打包。省略该字段将使其默认为[“ ”],这意味着 它将包含所有文件
我如何允许用户安装所有src文件夹而忽略示例文件夹?
我在npm 5.6.0
和节点v9.11.2
上
答案 0 :(得分:0)
快到了!文件输入的行为类似于.gitignore
行。可行:
"files": ["src"]
出于测试目的,您可以运行npm pack --dry-run
来检查软件包报告,以在正在开发的软件包上运行npm install
时包含哪些文件。