reactjs 如何在TypeScript中导出和导入模块

xzlaal3s  于 2022-11-29  发布在  React
关注(0)|答案(2)|浏览(206)

我有一个React Typescript项目,使用Craco。我有一个CommonJS repo包,我想集成到项目中。
使用Craco start,项目可以正常工作,没有任何问题。但是在构建时,错误是:
尝试的导入错误:'B'未从'./test'汇出(汇入为'test')。
我试着用一个测试来简化这个问题,基本上这就是我们所拥有的。
文件:./test.js

  1. class A {
  2. test() {
  3. console.log('a')
  4. }
  5. }
  6. module.exports = A
  7. class B {
  8. test() {
  9. console.log('a')
  10. }
  11. }
  12. module.exports = B
  13. module.exports = {
  14. A,
  15. B
  16. }

文件:./服务.ts

  1. import * as test from './test'
  2. console.log(test.B)

我认为这是一些与网络包上的Craco建设和其他类型的JS可能?

voj3qocg

voj3qocg1#

导出错误,需要像这样更改代码

第1页)

  1. export class A {
  2. test() {
  3. console.log('a')
  4. }
  5. }
  6. export class B {
  7. test() {
  8. console.log('a')
  9. }
  10. }

第二页

  1. import * as test from './test'
  2. console.log(new test.B().test())
展开查看全部
j8ag8udp

j8ag8udp2#

您可以通过以下方式导出类

  1. class A {
  2. test() {
  3. console.log("A");
  4. }
  5. }
  6. class B {
  7. test() {
  8. console.log("B");
  9. }
  10. }
  11. export default {
  12. A,
  13. B
  14. };

并将其导入:

  1. import test from "./test";
  2. const bbb = new test.B();

您可以阅读更多关于如何导出/导入模块here的信息

展开查看全部

相关问题