【发布时间】:2020-01-13 10:45:12
【问题描述】:
我有一个采用这种格式的项目
├── 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 是一样的
这里是shared的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__"
]
}
编辑:
我通过将 shared 中 package.json 的 main 属性更改为 /lib/validator_classes.js 来测试它,现在它只安装该文件。
【问题讨论】:
标签: node.js typescript npm npm-install