Как мне включить модули узлов в мой tsconfig?
У меня есть несколько сырых угловых компонентов машинописи, которые я поместил в частный модуль NPM для совместного использования между проектами.
Я импортирую свои компоненты, как обычно, с любой другой библиотекой npm, но когда я пытаюсь обслуживать свое приложение, я получаю ./node_modules/@bit/myusername.test.global.test-component/test.component.ts is missing from the TypeScript compilation.
Я пытался добавить свой node_modules/@bit/myusername.test.global.test-component/**/*.ts
в files
в tsconfig.json, но все равно получаю ту же ошибку.
{
"compileOnSave": false,
"filesGlob": [
"**/*.ts", //Local source, this is the default //generated source
"node_modules/@bit/**/*.ts", // "./node_modules/justinyoung3231.test.global.test-component/*.ts" //generated source
],
//Add as many directories to the above list as needed
"compilerOptions": {
"baseUrl": "./src",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
]
}
}
Вот package.json
в моем личном модуле
{
"_from": "@bit/myusername.test.global.test-component",
"_id": "@bit/myusername.test.global.test-component@1.0.1",
"_inBundle": false,
"_integrity": {{removed}},
"_location": "/@bit/myusername.test.global.test-component",
"_phantomChildren": {},
"_requested": {
"type": "tag",
"registry": true,
"raw": "@bit/myusername.test.global.test-component",
"name": "@bit/myusername.test.global.test-component",
"escapedName": "@bit%2fmyusername.test.global.test-component",
"scope": "@bit",
"rawSpec": "",
"saveSpec": null,
"fetchSpec": "latest"
},
"_requiredBy": [
"#USER",
"/"
],
"_resolved": "https://node.bitsrc.io/myusername.test.global.test-component/-/myusername.test.global.test-component-1.0.1.tgz",
"_shasum": {{removed}},
"_spec": "@bit/myusername.test.global.test-component",
"_where": "/Users/HD/Desktop/_temp/booker",
"bundleDependencies": false,
"dependencies": {
"@angular/core": "~7.0.0"
},
"deprecated": false,
"devDependencies": {},
"homepage": "https://bitsrc.io/myusername/test/global/test-component",
"license": "SEE LICENSE IN LICENSE",
"main": "test.component.ts",
"name": "@bit/myusername.test.global.test-component",
"peerDependencies": {},
"version": "1.0.1"
}
Как я могу ссылаться на эти файлы в моем tsconfig?
1 ответ
Есть несколько вещей, которые вы должны сделать:
- установите saveDependenciesAsComponents в вашем файле bit.json. Посмотри здесь
- Когда вы делаете
bit import
, чтобы принести ваши компоненты, сделатьbit import --skip-npm-install
чтобы избежать зависимостей пакета компонентов. Это откатится на зависимости проекта из-за разрешения модуля узла.
Для тех, кто читает вне контекста, OP пытается импортировать угловые компоненты, используя CLI bitsrc.io. В настоящее время нет поддержки толлинга с использованием угловых и битовых. Чтобы совместно использовать компоненты, они должны жить в очень похожих угловых проектах, поэтому угловой компилятор позаботится о компиляции.