为啥我在使用 Typescript 的 .net 核心项目中的 NPM 模块出现此错误?

Posted

技术标签:

【中文标题】为啥我在使用 Typescript 的 .net 核心项目中的 NPM 模块出现此错误?【英文标题】:Why I get this error for my NPM modile in .net core project with Typescript?为什么我在使用 Typescript 的 .net 核心项目中的 NPM 模块出现此错误? 【发布时间】:2020-10-02 12:12:33 【问题描述】:

我的 Typescript 配置可能有什么问题,因为它在没有 TS 的情况下可以正常工作? 或者问题可能出在我的 .d.ts 文件中? webpack 需要它吗?

我有一个简单的 NPM 模块:

index.js:

var MyMathTS = function(a, b)
    this.sum = a + b;
;
exports = MyMathTS;

index.d.ts:

declare class MyMathTS 
    constructor(x: number, y: number);
 sum(x: number, y: number) : number;
 

这是我在 main.ts 中的代码:

import "mymathts16";

var mm = new MyMathTS(2, 3);
console.log(mm);

webpack 的结果是这样的:

/******/ ([
/* 0 */
/***/ (function(module, exports) 

var MyMathTS = function(a, b)
    this.sum = a + b;
;

exports = MyMathTS;




/***/ ),
/* 1 */
/***/ (function(module, __webpack_exports__, __webpack_require__) 

"use strict";
Object.defineProperty(__webpack_exports__, "__esModule",  value: true );
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_mymathts16__ = __webpack_require__(0);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_mymathts16___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_mymathts16__);

var mm = new MyMathTS(2, 3);
console.log(mm);


/***/ )
/******/ ]);

但我在控制台中收到此错误:

在 Angular 中它工作正常。

【问题讨论】:

【参考方案1】:

我已经解决了使用 export default MyMathTS 导出的问题。

【讨论】:

以上是关于为啥我在使用 Typescript 的 .net 核心项目中的 NPM 模块出现此错误?的主要内容,如果未能解决你的问题,请参考以下文章

Gulp/Typescript/Async/Await 代码不起作用 - 为啥?

为啥 TypeScript 将 .default 添加到全局定义的导入中?

为啥我不能在 ThreeJS Typescript 项目中创建 Face3

为啥要在 DefinitiveTyped 上为 Javascript 库发布 TypeScript 声明文件?

为啥 Typescript 在转译代码中将 .default() 添加到类构造函数中?

如果我正在调用 Typescript 构建任务,为啥 VS Code 集成终端不起作用?