jjzjj

CommonJS

全部标签

javascript - Node.js ES6 如何从模块中导出类?

这个问题在这里已经有了答案:Differencebetween"module.exports"and"exports"intheCommonJsModuleSystem(9个回答)关闭6年前。我正在尝试从Node.js6.2.0中的CommonJS模块导出ES6类classMyClass{//classcontentshere}exports=MyClass;然后将其导入另一个模块:varMyClass=require('/path/to/module.js')varinstance=newMyClass();但是我得到以下异常:TypeError:MyClassisnotaconst

javascript - 难以让 browserify-shim 使用 grunt-browserify (> 2.0.2) 作为转换

在grunt-browserify的2.0.2版本中,browserify-shim已从模块本身中删除并转换为用作transform,而不是grunt-browserify任务上的直接option。在grunt-browserify中使用shim的old版本如下所示:'libs-dev':{src:[path.join('','angular','angular.js')],dest:path.join('','js','libs.js'),options:{shim:{angular:{path:path.join('','angular','angular.js'),exports

javascript - 难以让 browserify-shim 使用 grunt-browserify (> 2.0.2) 作为转换

在grunt-browserify的2.0.2版本中,browserify-shim已从模块本身中删除并转换为用作transform,而不是grunt-browserify任务上的直接option。在grunt-browserify中使用shim的old版本如下所示:'libs-dev':{src:[path.join('','angular','angular.js')],dest:path.join('','js','libs.js'),options:{shim:{angular:{path:path.join('','angular','angular.js'),exports

javascript - RequireJS 和 CommonJS 的区别

我想知道这些片段之间的区别是什么。var$=require('jquery');var_=require('underscore');varBackBone=require('backbone');和require(['jquery','underscore','backbone'],function($,_,BackBone){//codegoeshere})两者对我来说都很好,但不确定它们背后的目的是什么。 最佳答案 考虑第一个片段,它采用CommonJS样式:var$=require('jquery');var_=requir

javascript - RequireJS 和 CommonJS 的区别

我想知道这些片段之间的区别是什么。var$=require('jquery');var_=require('underscore');varBackBone=require('backbone');和require(['jquery','underscore','backbone'],function($,_,BackBone){//codegoeshere})两者对我来说都很好,但不确定它们背后的目的是什么。 最佳答案 考虑第一个片段,它采用CommonJS样式:var$=require('jquery');var_=requir

javascript - 如何在nodejs中对 'private'实用程序函数进行单元测试

我目前正在为nodejs应用程序编写一些测试。假设我有一个这样的模块:module.exports=functionmyModule(moduleParam){varsomeVar;........functionhelper(param){returnparam+someVar;}return{doSomething:function(bar){........varfoo=helper(bar);........}};};假设“helper”函数只在模块内部有用,不应该暴露在外部。测试它的“最佳实践”是什么?(当然,我可以将doSomething函数作为一个整体进行测试,但这样,“

javascript - 如何在nodejs中对 'private'实用程序函数进行单元测试

我目前正在为nodejs应用程序编写一些测试。假设我有一个这样的模块:module.exports=functionmyModule(moduleParam){varsomeVar;........functionhelper(param){returnparam+someVar;}return{doSomething:function(bar){........varfoo=helper(bar);........}};};假设“helper”函数只在模块内部有用,不应该暴露在外部。测试它的“最佳实践”是什么?(当然,我可以将doSomething函数作为一个整体进行测试,但这样,“

class - NodeJS 模块与类

对我来说,类与NodeJS(CommonJS)模块非常相似。你可以拥有很多,它们可以重复使用,它们可以相互使用,而且它们通常是一个文件。是什么让模块与类如此不同?你使用它们的方式不同,命名空间的区别是显而易见的。除此之外,它们对我来说似乎非常相似,或者我可能只是在这里没有看到明显的好处。 最佳答案 模块更像是包(使用Java术语)而不是类。你不实例化一个模块;它只有一个副本。它是一种用于组织相关功能的工具,但它通常不封装对象特定实例的数据。可能与类最接近的类似物(撇开那些在JavaScript中实际构建基于类的继承的库除外)只是一个

class - NodeJS 模块与类

对我来说,类与NodeJS(CommonJS)模块非常相似。你可以拥有很多,它们可以重复使用,它们可以相互使用,而且它们通常是一个文件。是什么让模块与类如此不同?你使用它们的方式不同,命名空间的区别是显而易见的。除此之外,它们对我来说似乎非常相似,或者我可能只是在这里没有看到明显的好处。 最佳答案 模块更像是包(使用Java术语)而不是类。你不实例化一个模块;它只有一个副本。它是一种用于组织相关功能的工具,但它通常不封装对象特定实例的数据。可能与类最接近的类似物(撇开那些在JavaScript中实际构建基于类的继承的库除外)只是一个

javascript - 在 ES6 的 `import` 语法中,如何准确评估模块?

假设我们有四个模块,A、B、C和D在模块A中:console.log("Aevaluated")functionAClass{console.log("Aconstructor")}varaObj=newAClass()exportdefaultaObj;在模块B中:importaObjfromAexportdefault"B"在模块C中:importaObjfromAexportdefault"C"在模块D中:importbfromBimportcfromCimportaObjfromA那么当模块D被评估时,A评估和A构造函数会在控制台打印多少次?ES6标准中是否描述了这种行为?如果