如何在ASP.Net核心Web项目中引用TypeScript中的节点模块

时间:2018-05-04 21:16:11

标签: node.js typescript asp.net-core

我已将npm库xrm-mock安装到ASP.Net核心Web应用程序中。它显示在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位于我的web项目的根目录:

{
  "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 :(得分:0)

这个问题有几个根本原因。首先是我错误地导入了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本身。我在web项目的根目录中运行tsc并修复了所有编译错误,然后重新启动了Visual Studio。之后,一切都开始正常工作。 (我也不得不禁用ReSharper,但这很常见,因为ReSharper很难跟上TS的快速步伐)

答案 1 :(得分:-1)

我遇到了同样的问题,最终将xrm-mock文件夹拖到@types文件夹中,以便可以将其导入到test.ts中。