ค้นหาเว็บไซต์

โปรแทรกเตอร์ - ส่งออกหลายคลาสในไทป์สคริปต์


ฉันมีโปรเจกต์โปรแทรกเตอร์ ซึ่งฉันต้องการส่งออกหลายคลาสจากโปรเจกต์อื่นไปยังคลาสทดสอบของฉัน คลาสแรกของ Helper นำเข้าได้ แต่สำหรับคลาสที่เหลือ ฉันได้รับข้อผิดพลาด: has no exported member - People, Groups

รหัสโครงการย่อย

แอป.ts

export { Helper } from './src/helpers/helper';
export { People } from './src/helpers/people';
export { Groups } from './src/helpers/groups';

package.json

{
  ...
  "name": "sub-project",
  "main": "app.ts",
  ...
}

helper.ts

import { HttpClient } from './http-client';
export class Helper {
  private httpClient = new HttpClient();
    public async myFunction():  { }
}

people.ts

import { HttpClient } from './http-client';
export class People {
  private httpClient = new HttpClient();
    public async myFunction(): { }
}

โค้ดโครงการหลัก

test.ts

import { Helper, People, Groups} from 'sub-project'; // error, has no exported member - People, Groups, (Helper - ok)

tsconfig

{
    "extends": "../tsconfig.json",
    "compilerOptions": {
        "outDir": "lib",
        "rootDir": ".",
        "target": "es5",
        "module": "commonjs",
        "types": [
            "chai",
            "chai-as-promised",
            "mocha"
        ],
    }
}

คำตอบ #1

การส่งออกต่อทันทีเป็นฟีเจอร์ใหม่และอาจมีบั๊กได้

หลีกเลี่ยง

export { Helper } from './src/helpers/helper';
export { People } from './src/helpers/people';
export { Groups } from './src/helpers/groups';

และใช้สิ่งต่อไปนี้แทน:

import { Helper } from './src/helpers/helper';
import { People } from './src/helpers/people';
import { Groups } from './src/helpers/groups';
export { Helper, People, Groups };