NodeJS-从其他文件导入功能并像以前一样使用它们吗?

魔导师

假设我有一个名为的文件server.js

//server.js
    var net = require('net');
    var server = net.createServer(function (socket){
    socket.on('data',function(data){
        console.log("Received: "+data);
    });
});

还有另一个文件functions.js

//functions.js
module.exports = {
  test: function () {
    // do something
  },
  other: function () {
    // do something
  }
};

我知道我可以做这样的事情:

var functions = require('./functions');
functions.test();

但我确实希望能够直接使用该功能,如下所示:

require('./functions');
test();

有什么建议?

布兰登·安扎尔迪(Brandon Anzaldi)

虽然您可以将它们加载到global变量中,但是另一种可行的,也许更明智的方法是将方法分配给变量test

var test = require('./functions').test;
var functions = require('./functions');
var test2 = functions.test;

* =我说得很明智,因为接触全局范围可能会产生一些意外结果,从而降低了一般的可读性(嘿,这个test变量来自何处?我在代码中的任何地方都没有看到它的定义。),最坏的情况是在这种情况下,您可能会遇到名称冲突,甚至覆盖global范围中需要的内容并不是说将某些东西加载到全局范围内不是一个好主意,甚至不是彻头彻尾的有用,但通常,最好是将它们放在局部范围内以提高可读性。

有关在浏览器中触及全局范围的文章

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我可以像使用php一样使用nodejs更改超级全局变量吗?

来自分类Dev

像Nodejs一样的工具?

来自分类Dev

使HTTP请求像php表单一样使用nodejs

来自分类Dev

使用 NodeJS 重放日志文件,就好像它是实时发生的一样

来自分类Dev

如何使NodeJS插件像常规对象一样显示属性信息

来自分类Dev

如何定义快速路由以在NodeJS中像producthunt一样每天获取数据?

来自分类Dev

我可以说Nodejs就像JVM一样,但适用于JavaScript吗?

来自分类Dev

Linux屏幕截图,如何像Mac一样使用它们

来自分类Dev

NodeJS:可以静态导入吗?

来自分类Dev

使用NodeJS复制文件

来自分类Dev

Rust中有像NodeJS的EventEmitter这样的功能吗?

来自分类Dev

NodeJS导入错误

来自分类Dev

NodeJS导入错误

来自分类Dev

像其他语言一样接受参数的bash函数吗?

来自分类Dev

Akka 流 - 它可以像普通演员或其他方式一样扩展吗?

来自分类Dev

导出对象与功能NodeJs

来自分类Dev

NodeJS:深度复制功能

来自分类Dev

Nodejs系列运行功能

来自分类Dev

nodejs,mysql,异步功能

来自分类Dev

NodeJS:深度复制功能

来自分类Dev

如何导入由nodejs中的webpack目标生成的“ main”以外的其他文件?

来自分类Dev

NodeJS数组同步吗?

来自分类Dev

Nodejs写入文件

来自分类Dev

NodeJS,socketIO,多个文件

来自分类Dev

Nodejs文件存在

来自分类Dev

Swagger NodeJS文件上传

来自分类Dev

NodeJS XML文件解析

来自分类Dev

读取.bin文件NodeJS

来自分类Dev

Nodejs .ini文件标题