在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#背景,我可能会采用错误的方式。
答案 0 :(得分:1)
这实际上不需要对JavaScript中的类做任何事情,而是使用CommonJS模块系统。
require
只返回分配给module.exports
的值。因此,您还可以通过直接分配到module.exports
:
module.exports = DashboardPage;
然后当你做
var DashboardPage = require("DashboardPage");
DashboardPage
已经是您的类,您可以通过调用new DashboardPage()
来创建新实例。