首页 > 解决方案 > webpack:具有属性的导出/导入功能

问题描述

我有一个自己制作的前端库,我正在尝试在 webpack 的构建过程中使用它。该库正在通过标签直接加载到浏览器中,但我决定转向构建过程。我通过原型范式使用了一组类似类的函数(我知道 ES6 中有类构造,但我必须避免完全重写这个库)。

我有一个导出的名为 Widget 的“类”函数(即构造函数),但该函数还有一个“静态方法”get,它作为属性直接分配给该函数。

//widget.js file content
export function Widget()
{
....
}
Widget.prototype=....
Widget.get=function()
{
....
}

在另一个模块中,我只是通过命名导入来导入它。然后,当我使用 Widget 时它工作得很好,但是当我尝试使用“静态方法”时,它说它是未定义的。

//main.js file content
import {Widget} from "./widget.js"
var w= new Widget();//---working! Widget is defined and i can use it
var a=Widget.get(...);//--- not working! Widget.get seems to have been not exported

我不明白为什么.get这只是一个函数的属性没有被导出(或导入)。

有没有解释,当然还有让我工作的方法?

PS:我当然不想用Widget.prototype.get=function(){....},因为这样.get方法会变成“实例方法”而不是“类方法”。

谢谢

标签: javascriptwebpackes6-modules

解决方案


推荐阅读