导入没有文件名的类

时间:2017-10-30 18:09:26

标签: javascript oop

在javascript中,无需引用页面就无法导入类。这对我来说似乎很难看。

我有一个名为“DashboardPage”的类,它位于名为“DashboardPage.js”的文件名中。

为了让我导入类,我必须在文件中导出该类,然后将其导入另一个文件中。像这样

module.exports.DashboardPage = DashboardPage;//Export

var DashboardPage = require("DashboardPage");//Import

现在我想创建一个新的DashboardPage。我得走了:

//Here is the problem. Why do I have to call the file name then the object. 
var page = new DashboardPage.DashboardPage(); 

我在做傻事吗?这看起来很傻。我来自C#背景,我可能会采用错误的方式。

1 个答案:

答案 0 :(得分:1)

这实际上不需要对JavaScript中的类做任何事情,而是使用CommonJS模块系统。

require只返回分配给module.exports的值。因此,您还可以通过直接分配到module.exports

来导出值
module.exports = DashboardPage;

然后当你做

var DashboardPage = require("DashboardPage");

DashboardPage已经是您的类,您可以通过调用new DashboardPage()来创建新实例。