[英]“TypeError: <class> is not a constructor” after exporting it in index.js at npm package
我創建了npm軟件包tcx-file-class ,該軟件包以我以后要分析數據的方式處理tcx文件。 因此,它(除其他外)創建了一個Activity類。
通過以下方式從包中的index.ts文件中導出的活動類:
import TcxFile from "./dist/classes/tcxFile"
import Activity from "./dist/classes/activity"
//other imports here
export { TcxFile, Activity,
//other classes
}
因此,當我嘗試從包索引文件中導入類時,如下所示:
import {Activity} from 'tcx-file-class'
const a = new Activity();
我收到以下錯誤:
const a = new tcx_file_class_1.Activity();
^
TypeError: tcx_file_class_1.Activity is not a constructor
at Object.<anonymous> (/Users/stratis/Desktop/development/production/ts/events/dist/index.js:11:11)
at Module._compile (internal/modules/cjs/loader.js:678:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:689:10)
at Module.load (internal/modules/cjs/loader.js:589:32)
at tryModuleLoad (internal/modules/cjs/loader.js:528:12)
at Function.Module._load (internal/modules/cjs/loader.js:520:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:719:10)
at startup (internal/bootstrap/node.js:228:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:575:3)
但是當我從包類文件中導入類時,如下所示:
import {Activity} from '../node_modules/tcx-file-class/dist/classes/activity'
const a = new Activity();
一切正常。
因此,我猜想導出過程是問題所在,但我無法發現錯誤。 有什么建議么?
在我看來(正如評論中的SomePerformance所指出的那樣),您正在將Activity導出為命名的導出,例如
export { Activity }
而不export default Activity
您將需要將index.ts文件的導入更改為
import {TcxFile} from "./dist/classes/tcxFile"
import {Activity} from "./dist/classes/activity"
才能使用命名的導入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.