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

How to make a custom CasperJS module with custom parameter?

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 模块?

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

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

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

    return module
}

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