如何使用自定义参数制作自定义CasperJS模块?

时间:2016-05-19 03:42:10

标签: javascript phantomjs casperjs

FileUtil.js

exports.a = function(pre) {
    var module = {}

    module.writeStringToFile = function writeStringToFile() {
        casper.log(pre + " succ");
    };

    return module
}

main.js

var casper = require('casper').create();
var FileUtil = require('FileUtil').a('xxx')
FileUtil.writeStringToFile() //xxx succ

虽然有效,但我想要的是var FileUtil = require('FileUtil')('xxx')而不是require('FileUtil').a('xxx')

我尝试了exports = function(pre) ...,但它不起作用。

那么,如何使用自定义参数制作自定义CasperJS模块?

1 个答案:

答案 0 :(得分:2)

如果您希望var FileUtil = require('FileUtil')('xxx')成为您的对象,则需要使用module.exports。它可以导出单个对象,甚至可以是一个函数:

module.exports = function(pre) {
    var module = {}

    module.writeStringToFile = function writeStringToFile() {
        casper.log(pre + " succ");
    };

    return module
}

当然,将内部module变量重命名为其他内容会更好。