โปรแทรกเตอร์ - ส่งออกหลายคลาสในไทป์สคริปต์
ฉันมีโปรเจกต์โปรแทรกเตอร์ ซึ่งฉันต้องการส่งออกหลายคลาสจากโปรเจกต์อื่นไปยังคลาสทดสอบของฉัน คลาสแรกของ 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 };
