假设我在以下文件夹中订购了我的页面对象文件:
pages
modals
modal-1.coffee
modal-2.coffee
panels
panel-1.coffee
panel-2.coffee
subpanels
subpanel-1.coffee
subpanel-2.coffee
mainPage.coffee
截至目前,我要求每个页面对象单独位于我的spec文件顶部,如下所示:
{Modal1} = require <path to modal-1>
...
{MainPage} = require <path to mainPage>
但是,我希望能够按照以下方式拨打一个电话:
Pages = require <path to pages dir>
我找到了this SA question和this blog post。但是我在读取页面对象时遇到错误(使用index.coffee文件中的console.log语句确认),其成员函数无法访问:
Pages.MainPage is not a function
Cannot read property 'getSomething' of undefined
所以我的问题是 - 当我将它们作为单个模块页面导出时,如何访问页面对象的成员函数?
任何见解都会非常感激!
答案 0 :(得分:0)
我不熟悉coffeescript,但在JS中你可以尝试重新导出
index.js
pages
modals
modal-1.coffee
modal-2.coffee
panels
panel-1.coffee
panel-2.coffee
subpanels
subpanel-1.coffee
subpanel-2.coffee
mainPage.coffee
index.coffee (?)
索引文件中的:
module.exports.modal-1 = require('modals/modal-1.coffee')
module.exports.modal-2 = require('modals/modal-2.coffee')
module.exports.panel-1 = require('panels/panel-1.coffee')
module.exports.mainPage = require('./mainPage.coffee')
// and so on
所以在规格中它会是 -
let {modal-1, modal-2, mainPage} = require('pages')
https://nodejs.org/api/modules.html#modules_folders_as_modules
如果目录中没有package.json文件,那么 Node.js将尝试加载index.js