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

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

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

class A {

    test() {
        console.log('a')
    }
}

module.exports = A

class B {

    test() {
        console.log('a')
    }
}

module.exports = B

module.exports = {
    A,
    B
}

文件:./服务.ts

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

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

voj3qocg

voj3qocg1#

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

第1页)

export class A {
        
            test() {
                console.log('a')
            }
        }
        
        
        
    export  class B {
        
            test() {
                console.log('a')
            }
        }

第二页

import * as test from './test'
console.log(new test.B().test())
j8ag8udp

j8ag8udp2#

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

class A {
      test() {
        console.log("A");
      }
    }
    
    
    class B {
      test() {
        console.log("B");
      }
    }
    
    export default {
      A,
      B
    };

并将其导入:

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

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

相关问题