Как ссылаться на модули узлов из TypeScript в базовом веб-проекте ASP.Net - PullRequest
0 голосов
/ 05 мая 2018

Я установил библиотеку npm xrm-mock в основное веб-приложение ASP.Net. Он отображается в папке npm и папке node_module на диске: enter image description here

У меня есть файл, расположенный по адресу test\formTemplate\contact.ts, который пытается импортировать его в первой строке:

import { XrmMockGenerator, XrmMock } from "xrm-mock";

Но VS показывает подчеркивание "xrm-mock" как исключение (TS) Cannot find module 'xrm-mock'

Вот мой tsconfig.json, расположенный в корне моего веб-проекта:

{
  "compileOnSave": true,
  "compilerOptions": {
    "module": "umd",
    "moduleResolution": "node",
    "noEmitOnError": true,
    "noImplicitAny": true,
    "noImplicitThis": true,
    "removeComments": false,
    "sourceMap": true,
    "strictNullChecks": true,
    "suppressImplicitAnyIndexErrors": true,
    "target": "es5",
    "types": [
      "es6-promise",
      "jasmine",
      "steal",
      "xrm"
    ]
  },
  "include": [
    "./webresources/new_/common/*.ts",
    "./webresources/new_/scripts/*.ts",
    "./webresources/*.ts",
    "./test/**/*.ts"
  ]
}

enter image description here

Нужно ли как-то указывать папку node_modules где-нибудь?

Ответы [ 2 ]

0 голосов
/ 12 июня 2019

У меня та же проблема, и в итоге я перетащил папку xrm-mock в папку @types, чтобы ее можно было импортировать в test.ts.

0 голосов
/ 07 мая 2018

Было несколько основных причин этой проблемы. Во-первых, я неправильно импортировал XrmMock. Индекс для XrmMock выглядит следующим образом:

export * from "./xrm-mock/index";
export { XrmMockGenerator } from "./xrm-mock-generator/index";

, что означает, что мой импорт должен был выглядеть так:

import * as XrmMock from "xrm-mock";
import { XrmMockGenerator } from "xrm-mock";

Другая проблема была с самой Visual Studio. Я запустил tsc в корне веб-проекта и исправил все ошибки компиляции, а затем перезапустил Visual Studio. После этого все стало работать правильно. (Я также должен был отключить ReSharper, но это довольно часто, поскольку ReSharper очень трудно идти в ногу с быстрым темпом TS)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...