本地包的 npm 安装缺少文件
npm install of a local package has missing files
我有一个采用这种格式的项目
├── functions/
│ ├── src
│ ├── lib
│ ├── package.json
├── shared/
│ ├── src
│ | ├── index.ts
| | ├── interfaces.ts
| | └── validator_classes.ts
│ ├── lib
│ | ├── index.js
| | ├── interfaces.js
| | └── validator_classes.js
│ └── package.json
└── frontend/
. . .
shared 有接口并且 类 在前端和函数之间共享。
我在函数中执行 npm build
然后在函数或前端中执行 npm install shared
node_modules/shared
部分看起来像这样
└── shared/
├── src
| ├── index.ts
| ├── interfaces.ts
| └── validator_classes.ts
└── lib
└── index.js
并且缺少 lib
中的 interfaces.js
和 validator_classes.js
文件。 src
是一样的
这里是共享的package.json
{
"name": "shared",
"version": "1.0.2",
"description": "",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "tsc -d"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"class-validator": "^0.10.0"
},
"devDependencies": {}
}
这里是shared
的ts配置
{
"compilerOptions": {
"module": "commonjs",
"noImplicitReturns": true,
"noUnusedLocals": true,
"rootDir": "src/",
"outDir": "lib/",
"sourceMap": false,
"strict": true,
"target": "es2017",
"experimentalDecorators": true,
"strictPropertyInitialization": false
},
"compileOnSave": true,
"include": [
"src"
],
"files": [
"src/index.ts",
"src/formatter_interfaces.ts",
"src/validator_classes.ts",
],
"exclude": [
"src/__tests__"
]
}
编辑:
我通过将共享中 package.json 的主要 属性 更改为 /lib/validator_classes.js
来测试它,现在它只安装该文件。
我需要添加一个
"files": [
"lib"
]
到package.json
我有一个采用这种格式的项目
├── functions/
│ ├── src
│ ├── lib
│ ├── package.json
├── shared/
│ ├── src
│ | ├── index.ts
| | ├── interfaces.ts
| | └── validator_classes.ts
│ ├── lib
│ | ├── index.js
| | ├── interfaces.js
| | └── validator_classes.js
│ └── package.json
└── frontend/
. . .
shared 有接口并且 类 在前端和函数之间共享。
我在函数中执行 npm build
然后在函数或前端中执行 npm install shared
node_modules/shared
部分看起来像这样
└── shared/
├── src
| ├── index.ts
| ├── interfaces.ts
| └── validator_classes.ts
└── lib
└── index.js
并且缺少 lib
中的 interfaces.js
和 validator_classes.js
文件。 src
是一样的
这里是共享的package.json
{
"name": "shared",
"version": "1.0.2",
"description": "",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "tsc -d"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"class-validator": "^0.10.0"
},
"devDependencies": {}
}
这里是shared
的ts配置{
"compilerOptions": {
"module": "commonjs",
"noImplicitReturns": true,
"noUnusedLocals": true,
"rootDir": "src/",
"outDir": "lib/",
"sourceMap": false,
"strict": true,
"target": "es2017",
"experimentalDecorators": true,
"strictPropertyInitialization": false
},
"compileOnSave": true,
"include": [
"src"
],
"files": [
"src/index.ts",
"src/formatter_interfaces.ts",
"src/validator_classes.ts",
],
"exclude": [
"src/__tests__"
]
}
编辑:
我通过将共享中 package.json 的主要 属性 更改为 /lib/validator_classes.js
来测试它,现在它只安装该文件。
我需要添加一个
"files": [
"lib"
]
到package.json