Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在node.js中使用es6类有用吗?_Javascript_Node.js_Requirejs_Es6 Class - Fatal编程技术网

Javascript 在node.js中使用es6类有用吗?

Javascript 在node.js中使用es6类有用吗?,javascript,node.js,requirejs,es6-class,Javascript,Node.js,Requirejs,Es6 Class,我只是想知道在node.js项目上工作的时候。我是否应该在函数中声明一个类,例如像let task=new task(params)那样全局使用它 我在考虑两种不同的方式来处理课程 案例:无课 我需要task.js作为let task=require('./task.js')某处。例如,在globals.js中,witch是必需的,如app.js中的let g 不管怎样,它就像一个符咒,在其他地方创建一个新的任务,就像我在上面写的:let Task=new g.Task('someTaskId'

我只是想知道在node.js项目上工作的时候。我是否应该在
函数
中声明一个
,例如像
let task=new task(params)那样全局使用它

我在考虑两种不同的方式来处理课程 案例:无课 我需要
task.js
作为
let task=require('./task.js')某处。例如,在
globals.js
中,witch是必需的,如
app.js
中的
let g

不管怎样,它就像一个符咒,在其他地方创建一个新的
任务
,就像我在上面写的:
let Task=new g.Task('someTaskId',varForTStamp)


案例:课堂 这里也一样。使用相同的requires和definitions调用其他地方的
新任务

如果必须使用
get()
set()
方法,是否必须声明类?即使我需要使用
get()
set()
,我也必须使用
class
。它的工作方式与
类中的工作方式相同。
这两种方法都很有效,没有任何问题或例外

但是在requireJSnode.js的背景下发生了什么?我应该使用某种技术来编写清晰的代码以获得更好的性能吗


有没有更好的方法跨node.js项目处理新对象?如何管理和处理这种差异?

通常不需要从函数(第二个代码段)返回类。您可以直接导出该类

这可能是最好的方法:

test.js:

class Test{
  constructor(info){
    this._info=info;
  }

  getInfo(){
    return this._info;
  }
}

module.exports=Test;
main.js:

const Test=require('./test');
const myTest=new Test("hello");
const myOtherTest=new Test("world");
console.log(myTest.getInfo());
console.log(myOtherTest.getInfo());
此外,您不必使用
global.js
文件。例如,不做

const g=require('./global');
const myTest=new g.Test("abc");
您应该直接要求测试:

const Test=require('./test');
const myTest=new Test("abc");

关于
get
set
方法,请参见:问题太不具体。在这一点上,根本不需要一个类。如果您的实际代码更复杂,考虑提供它而不是虚拟类,这可能是重要的。requireJS-它与所有这些有什么关系?我是否应该使用某种技术来编写清晰的代码以获得更好的性能本机类在以后的引擎版本中有一些性能优势,但这不是大多数情况下的问题,可以认为是初步优化。为什么我不使用global.js将函数包装到对象中,并在main.js中要求它?还有安全方面吗?或者只是建议以良好的分离方式使用模块?@MaximilianFixl没有安全考虑,但它使您的代码更易于遵循。如果您想使用Browserify,它可能会更有效。谢谢您的回复!只需要所需的模块是很有意义的。但是,browserify对我来说没有意义,因为我只在服务器上,而不在客户端。顺致敬意,
const g=require('./global');
const myTest=new g.Test("abc");
const Test=require('./test');
const myTest=new Test("abc");