导出模块 Node.js

戴安娜

假设我有一个名为 mainModule.js 的模块,其中包含该语句。

var helper_formatModule = require('/formatModule.js'); 

在 formatModule.js 里面,我也有一个声明,

var helper_handleSentences = require('/handleSentences.js'); 

如果我的原始模块 mainModule.js 需要在 handleSentences.js 模块中定义的函数,它是否能够访问它们?即如果它导入了 formatModule,一个具有 handleSentences 的模块,它是否可以访问那些?还是我需要直接导入 handleSentences.js 模块?

彼得·马德

仅在某处(例如,在模块 B 中)需要模块 A 不会使 A 的功能在其他模块中可访问。通常,它们甚至无法在模块 B 中访问。

要从另一个模块访问函数(或任何值),该另一个模块必须导出它们。以下场景将不起作用:

// module-a.js
function firstFunction () {}
function secondFunction () {}
// module-b.js
var helper_handleSentences = require('/handleSentences.js'); 
// do something with 'helper_handleSentences'
module.exports = function (a) {
  return helper_handleSentences(a);
}

如您所见,module-a.js不导出任何内容。因此,该变量a保存默认导出值,即一个空对象。

在你的情况下,你可以

1. 需要两个模块 mainModule.js

// handleSentences.js
function doSomethingSecret () {
  // this function can only be accessed in 'handleSentences.js'
}
function handleSentences () {
  // this function can be accessed in any module that requires this module
  doSomethingSecret();
}
module.exports = handleSentences;
// formatModule.js
var helper_handleSentences = require('/handleSentences.js'); 
// do something with 'helper_handleSentences'
module.exports = function (a) {
  return helper_handleSentences(a);
};
// mainModule.js
var helper_handleSentences = require('/handleSentences.js');
var helper_formatModule = require('/formatModule.js'); 
// do something with 'helper_handleSentences' and 'helper_formatModule'

2. 将两个模块的导出值合并为一个对象

// handleSentences.js
function doSomethingSecret () {
  // this function can only be accessed in 'handleSentences.js'
}
function handleSentences () {
  // this function can be accessed in any module that requires this module
  doSomethingSecret();
}
module.exports = handleSentences;
// formatModule.js
var helper_handleSentences = require('/handleSentences.js'); 
// do something with 'helper_handleSentences'
function formatModule (a) {
  return helper_handleSentences(a);
};
module.exports = {
  handleSentences: helper_handleSentences,
  format: formatModule
};
// mainModule.js
var helper_formatModule = require('/formatModule.js');
// use both functions as methods
helper_formatModule.handleSentences();
helper_formatModule.format('...');

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

导入/导出模块-Node JS / Discord JS

来自分类Dev

在node.js模块中导出对象

来自分类Dev

Node.js模块导出混乱

来自分类Dev

从导出的模块(node.js)访问函数

来自分类Dev

Node.js Express模块导出

来自分类Dev

Node.js 模块导出“预加载”

来自分类Dev

node.js模块导出功能结构

来自分类Dev

Node js模块如何获取导出函数列表

来自分类Dev

Node.js导出的行为与ES6模块不同

来自分类Dev

导入和导出模块变量-Node.js

来自分类Dev

在TypeScript中将类导出为Node.js模块

来自分类Dev

如何在node.js中导出模块

来自分类Dev

整合node.js模块导出中的多个回调

来自分类Dev

JS模块导出导入

来自分类Dev

无法将对象传递到Node.js / Express.js上的导出JavaScript模块

来自分类Dev

Node js对象导出

来自分类Dev

@type用于来自node.js的“导出模块”和良好的文档描述?

来自分类Dev

如何将socket.io导出到Node.js中的其他模块中?

来自分类Dev

node.js模块-将对象及其属性导出为函数

来自分类Dev

@type用于来自node.js的“导出模块”和良好的文档描述?

来自分类Dev

如何导出 Promise.all (somefunction) 中的 node.js 模块。然后(函数(){})

来自分类Dev

Node.js 如何导入和导出带有子功能的模块

来自分类Dev

是否可以导出/要求使用Node.js中的模块,而无需使用var持有其对象的模块?

来自分类Dev

Node js 逐行模块

来自分类Dev

使用Node JS导出功能

来自分类Dev

如何从一个索引文件导出node.js中的所有模块,函数等?

来自分类Dev

将所有功能从一个模块导出到另一个模块-node.js

来自分类Dev

Node.js模块instanceof

来自分类Dev

Couchbase node.js模块

Related 相关文章

热门标签

归档