Как мне включить модули узлов в мой tsconfig? - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть несколько необработанных компонентов машинописного углового набора, которые я поместил в частный модуль 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 Ответ

0 голосов
/ 16 декабря 2018

Есть несколько вещей, которые вы должны сделать:

  1. установить saveDependenciesAsComponents в вашем файле bit.json.Посмотрите здесь .
  2. Когда вы делаете bit import, чтобы привести свои компоненты, выполните bit import --skip-npm-install, чтобы избежать зависимостей пакета компонентов.Это откатится на зависимости проекта из-за разрешения модуля узла.

Для тех, кто читает вне контекста, OP пытается импортировать угловые компоненты, используя битовый интерфейс bitrc.io.В настоящее время нет поддержки толлинга с использованием угловых и битовых.Чтобы совместно использовать компоненты, они должны жить в очень похожих угловых проектах, поэтому угловой компилятор позаботится о компиляции.

...