草庐IT

javascript - NodeJS : module. 导出属性不是函数

我在模块文件中有以下内容:module.exports={myfunc:myfunc};varmyfunc=function(callback){callback(err,reply);};在另一个文件中我得到了那个模块的引用varmymodule=require('./modules/mymodule');mymodule.myfunc(function(err,reply){...});当我调用mymodule.myfunc()时,我收到一条错误消息“property'myfunc'isnotafunction”。这仅发生在导出函数中。同一模块导出一些“字符串”字段,这些字段工作正

javascript - 部署时 Heroku 出现 "Cannot find module"错误

因此,我正在使用React制作一个应用程序,然后将其部署到Heroku。一切都在本地主机上运行良好,没有任何错误,webpack也可以毫无错误地编译。我也在Heroku上设置了环境变量。但是,当我将它部署到Heroku时,我得到了一个空白屏幕,并且控制台中出现了这个错误(我正确地需要TodoApi并尝试了各种方法-导入等,它在本地主机上没有问题):几天来我一直在努力弄明白,所以非常感谢任何帮助。UncaughtError:Cannotfindmodule"TodoApi"atbundle.js:20atObject.(bundle.js:20)att(bundle.js:1)atObj

javascript - react 和 Jest : Cannot find module from test file

为目录中的Redux操作('App.js')设置Jest测试('App-test.js')app/__tests__:这是App.js的header:jest.unmock('../../modules/actions/App.js')importReactfrom'react'importReactDOMfrom'react-dom'importTestUtilsfrom'react-addons-test-utils'import*asAppfrom'../../modules/actions/App.js'在app/有一个模块config.js.这是在需要的地方导入的。问题是,当

javascript - _以 "revealing module pattern"样式编写的 JSDoc'ing Javascript 文件的最佳实践?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我的大多数Javascript函数都相对简单,并且需要它们的副作用:我使用jQuery来操作DOM或进行Ajax调用。我更喜欢以“揭示模块模式”的风格编写我的函数。我justdiscoveredJSDoc-注释Javascript文件有一个好处:在annotations的帮助下,Eclipse的JS开发工具可以解析我的JS文件和filltheEclipseOutlineView(否则将为空

javascript - 如何在 JSDOC 的 'group' 中显示 Javascript 方法?

是否有可能在一个类(AMD/RequireJS模块)中“分组”函数?我的类有时有20多个函数,它们实际上属于特定的“接口(interface)实现”,有时它们只需要分组以提高可读性。我检查了可用的jsDoc标签,但它们似乎都没有提供这个,在Doxygen中有很多标签......有什么想法吗? 最佳答案 这是一种方法,您的模块形状可能非常好,但这适用于类和模块:/***@modulefoobar**@memberofmodule:foobar*@param{string}arganargument**/functionone(arg)

javascript - 如何有选择地导入 ES2015 模块函数,但带有命名空间?

我开始使用Rollup和D3版本4,它是用ES2015模块编写的。我使用传统的D3命名空间“d3”编写了一些代码。现在我想使用Rollup创建一个自定义包。我想使用tree-shaking,因为我可能只使用了d3中大约一半的函数,而且我想尽可能地保持轻便。我很清楚我可以有选择地导入函数,例如:import{scaleLinear}from"d3-scale";import{event,select,selectAll}from"d3-selection";这很快就会变得非常冗长,因为d3的一半是很多函数。我可以忍受这一点。更大的问题是它还需要在没有namespace的情况下完全重写我所

Javascript 命名空间

我希望将我的javascript拆分成不同的文件并为每个文件提供一个像这样的“子”命名空间,从而使我的javascript更加模块化。subA.jsif(typeofex=="undefined"){varex={};}ex.subA=function(){//allfunctionsofsubAhere}subB等也一样目前我有1个文件,ex.jsvarex=(function(){//privatevars/funcsreturn{//publicvars/funcs}})();看起来我应该将我的大部分功能移动到subA.js和subB.js,但仍然在开始时包括ex.js,然后是s

javascript - 当没有定义默认导出时,import Module from 'module' 会导入什么?为什么它与 import * as Module 不同?

我是JavaScript的新手,最近一直在努力处理导入问题。有一件事我无法理解。在较旧的节点模块(主要是那些在ES6之前出现的模块)中,可以使用npm安装,例如express,通常没有定义默认导出。我的IDE(WebStorm)将以下行标记为Defaultexportisnotdeclaredintheimportedmodule通知。importexpressfrom'express';可以通过尝试将整个模块作为别名导入来规避此消息import*asexpressfrom'express';隐式告诉我的IDE只导入所有内容并将其命名为express,但是这样做会导致在尝试实例化应用程

javascript - JavaScript 中的经典脚本与模块脚本

我正在浏览WHATWGasync的规范和defer的属性标记,当我看到这个声明时:Classicscriptsmayspecifydeferorasync;modulescriptsmayspecifyasync.我浏览了WHATWG对classic和module脚本的定义,但并没有真正弄清楚。简单来说,JavaScript中的classic和module脚本有什么区别? 最佳答案 以下是我从各种文章中注意到的差异。如果您想了解更多详细信息,请阅读互联网上的完整文章:模块是单例的。它们只会被加载和执行一次。模块可以使用导入和导出。模

JavaScript 模块模式与构造函数中定义的方法的构造函数

从单实例和多实例的Angular来看,为什么我要按照模块模式编写所有这些额外的代码行,而不是只使用标准构造函数,方法和属性在构造函数主体中定义?模块模式示例:http://jsfiddle.net/T3ZJE/1/varmodule=(function(){//privatevariablesandfunctionsvarfoo='bar';//constructorvarmodule=function(){};//prototypemodule.prototype={constructor:module,something:function(){}};//returnmodulere