我试图实现的是创建一个包含多个功能的模块。
module.js:
module.exports = function(firstParam) { console.log("You did it"); },
module.exports = function(secondParam) { console.log("Yes you did it"); },
// This may contain more functions
main.js:
var foo = require('module.js')(firstParam);
var bar = require('module.js')(secondParam);
我的问题是,firstParam是一个对象类型和secondParam是一个URL字符串,但当我有它总是抱怨类型是错误的。
我如何声明多个模块。在这种情况下出口?
你可以这样做:
module.exports = {
method: function() {},
otherMethod: function() {},
};
或者是:
exports.method = function() {};
exports.otherMethod = function() {};
然后在调用脚本中:
const myModule = require('./myModule.js');
const method = myModule.method;
const otherMethod = myModule.otherMethod;
// OR:
const {method, otherMethod} = require('./myModule.js');
这只是供我参考,因为我想要达到的目的可以通过这个来实现。
在module.js中
我们可以这样做
module.exports = function ( firstArg, secondArg ) {
function firstFunction ( ) { ... }
function secondFunction ( ) { ... }
function thirdFunction ( ) { ... }
return { firstFunction: firstFunction, secondFunction: secondFunction,
thirdFunction: thirdFunction };
}
在main.js中
var name = require('module')(firstArg, secondArg);
两种类型的模块导入和导出。
类型1 (module.js):
// module like a webpack config
const development = {
// ...
};
const production = {
// ...
};
// export multi
module.exports = [development, production];
// export single
// module.exports = development;
类型1 (main.js):
// import module like a webpack config
const { development, production } = require("./path/to/module");
类型2 (module.js):
// module function no param
const module1 = () => {
// ...
};
// module function with param
const module2 = (param1, param2) => {
// ...
};
// export module
module.exports = {
module1,
module2
}
类型2 (main.js):
// import module function
const { module1, module2 } = require("./path/to/module");
如何使用导入模块?
const importModule = {
...development,
// ...production,
// ...module1,
...module2("param1", "param2"),
};
有多种方法可以做到这一点,下面提到了一种方法。
假设你有这样的.js文件。
let add = function (a, b) {
console.log(a + b);
};
let sub = function (a, b) {
console.log(a - b);
};
您可以使用以下代码片段导出这些函数,
module.exports.add = add;
module.exports.sub = sub;
你可以使用这个代码片段来使用导出的函数,
var add = require('./counter').add;
var sub = require('./counter').sub;
add(1,2);
sub(1,2);
我知道这是一个迟到的回复,但希望这有助于!
在这里加上某人的帮助:
这个代码块将帮助您在cypress index.js中添加多个插件
插件-> cypress-ntlm-auth和cypress env文件选择
const ntlmAuth = require('cypress-ntlm-auth/dist/plugin');
const fs = require('fs-extra');
const path = require('path');
const getConfigurationByFile = async (config) => {
const file = config.env.configFile || 'dev';
const pathToConfigFile = path.resolve(
'../Cypress/cypress/',
'config',
`${file}.json`
);
console.log('pathToConfigFile' + pathToConfigFile);
return fs.readJson(pathToConfigFile);
};
module.exports = async (on, config) => {
config = await getConfigurationByFile(config);
await ntlmAuth.initNtlmAuth(config);
return config;
};
你可以像我下面做的那样…对于函数和箭头函数:
greet.js:
函数greetFromGreet() {
Console.log ("hello from greet module…");
}
const greetVar = () => {
Console.log("将var视为箭头fn/…");
};
模块。exports = {greetVar, greetFromGreet};// ----多个模块导出…
// -----------------------------------------------
app.js:
const greetFromGreets = require("./greet");
greetFromGreets.greetFromGreet();
greetFromGreets.greetVar();
// -----------------------------------------------