本地软件包的npm安装缺少文件

时间:2019-09-11 14:49:54

标签: node.js typescript npm npm-install

我有一个这种格式的项目

├── 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

,并且缺少interfaces.js中的validator_classes.jslib文件。 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": {}
}

这是共享的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的main属性更改为/lib/validator_classes.js进行了测试,现在它仅安装该文件。

1 个答案:

答案 0 :(得分:0)

我需要添加一个

"files": [
    "lib"
]

到package.json