草庐IT

ES6模块化

全部标签

JavaScript/Dojo 模块模式 - 如何调试?

我正在使用Dojo并使用MasteringDojo中描述的“模块模式”.据我所知,此模式是一种通用且广泛使用的JavaScript模式。我的问题是:我们如何调试我们的模块?到目前为止,我无法说服Firebug向我展示模块的源代码。Firebug似乎只显示用于执行工厂方法的dojoeval语句。因此我无法单步执行我的模块源代码。我试过在我的模块代码中加入“调试器”语句,Firebug似乎正确停止,但不显示源代码。下面是人为设计的示例代码。这只是一个足够复杂的例子,足以使调试的需要变得合理,它并不是有用的代码。页面consoleme@import"../dojoroot/dojo/reso

javascript - 模块模式中的构造函数

在javascript中使用模块模式时,应该如何定义构造函数(如果有的话)。我希望我的构造函数适合标准模块模式而不是全局的。为什么这样的东西不起作用,它完全是胡说八道吗?varHOUSE=function(){return{Person:function(){varself=this;self.name="john";functionname(){returnself.name;}}};}();varme=newHOUSE.Person();alert(me.name()); 最佳答案 您的代码几乎没问题。但是,函数name()不是

javascript - 如何将 JS 文件与 dotnetnuke 中的模块、控件和模板链接起来?

我是dotnetnuke的新手,所以我不知道如何将js文件与模块链接,在dotnetnuke中控制模板。谁能帮帮我... 最佳答案 如果你想包含JS文件,你应该将它们放入模块中的文件夹(通常是JS文件夹)然后在代码隐藏中你可以使用下面的语法ClientResourceManager.RegisterScript(Parent.Page,"~/Resources/Shared/scripts/knockout.js");ClientResourceManager.RegisterScript(Parent.Page,"~/deskto

javascript - 如何在requirejs、javascript中的不同模块之间共享数据

我想通过创建一个模块在不同模块之间共享一些数据,例如调用dataService,将一个变量放入其中,然后将该模块作为依赖项插入其他模块中。这是代码(不起作用):define('dataService',function(){varquotes=[];return{quotesArray:quotes,};});require(['dataService'],function(dataService){dataService.quotesArray{1,2,3};//settingthequotesvariable});define('otherModule',['dataService

javascript - 我如何在路径中需要带有模式的模块?

如何在nodeJS中包含所有文件require('./packages/city/model/cities')require('./packages/state/model/states')require('./packages/country/model/countries')像一样require('./packages/*/model/*')就像grunt正在加载文件一样。 最佳答案 你不能(或者至少你不应该)为此,您必须重载Node的原生require函数,这是非常不可取的。CommonJS模式对你来说可能看起来很乏味,但它是

javascript - ES6 类/实例属性

这将是一个相对较长的问题,但我真的很想了解。问题底部制定的最终问题。我已经阅读了这个问题的答案:ES6classvariablealternatives关于为什么这在ES6中不被接受的语法的问题:classMyClass{constMY_CONST='string';constructor(){this.MY_CONST;}}1)第一个答案提到:Remember,aclassdefinitiondefinesprototypemethods-definingvariablesontheprototypeisgenerallynotsomethingyoudo.我不明白;基于类的语言中的

javascript - 如何迭代 ES6/2015 类实例的属性

给定这两个类classFoo{f1;getf2(){return"a";}}classBarextendsFoo{b1;getb2(){return"a";}}letbar=newBar();什么代码可以从bar实例中获取这个属性列表?['f1','f2','b1','b2']HereisaBabelsample更新这应该是@MarcC的回答的一部分:使用装饰器,我可以轻松地将不可枚举的属性转换为可枚举的属性:classBarextendsFoo{@enumerable()getb2(){return"a";}}这是装饰器源代码:functionenumerable(){returnf

javascript - 使用 Angular1+ ES6 时, Controller 函数中的依赖注入(inject)未定义, Controller 作为类

我正在使用ES6类来定义我的Controller,所以这是语法,exportclassSearchBarController{constructor($log){'ngInject';$log.debug("Hello");}textTyped($log){$log.debug("changefired.");}}查看:因此,构造函数中的“Hello”已被正常记录。但是,typedText()函数中的“changefired”并未触发,因为显然未定义如何让我的类函数textTyped()访问$log服务?注意:如果我在构造函数中将$log分配给类属性,例如,this.logger=$l

javascript - 为什么需要立即使用我的 ES6 Promise Rejection 以避免出现控制台错误消息?

请注意:以下是在不同浏览器中表现不同的问题。所以也许这是一个浏览器实现问题。无论如何,我都希望得到一些建议。在我的应用程序中,我创建了几个promise,我可能要等到future相当长一段时间才会使用这些promise。这应该没问题,毕竟它们是promise。如果存储的promise已解决,则没有问题。我可以在未来尽可能多地使用它,并且可以多次使用它。正如预期的那样。但是,如果被存储的promise被拒绝,就会出现问题。除非我在做出拒绝后不久(不确定多快)使用该拒绝,否则Chrome或Firefox中会弹出一条控制台消息,指示存在未捕获的promise拒绝/错误。IE不会弹出该错误。因

javascript - Node.js 监听模块加载

在前端使用RequireJS,我们可以使用以下方法监听模块何时加载到运行时模块缓存中:requirejs.onResourceLoad=function(context,map,depArray){console.log('onResourceLoad>>>','map.id:',map.id,'context:',context);};我们可以用Node.js以某种方式做到这一点吗?对调试很有用。尤其是当服务器根据配置加载不同文件(或以不同顺序)时。我假设这可能记录在https://nodejs.org/api/modules.html但我什么也没看到 最