草庐IT

as-a-closure

全部标签

javascript - 使用 Mocha 和 Chai-as-Promised 测试被拒绝 promise 的特定属性

我正在尝试使用Chai-as-Promised测试被拒绝的Promise的细节,Mocha,和“应该”方言。promise由bluebird实现.这很好用:it('itshouldberejectedwhengivenbadcredentials',function(){varpromiseOfUsers=db.auth("bad","credentials").getUsers();returnpromiseOfUsers.should.eventually.be.rejectedWith(Error)});该错误有一个“状态”属性。我想断言状态是401这不起作用:it('itsho

javascript - ES6 : "import * as alias" vs "import alias"

有什么区别:从'utils'导入utils和从“utils”导入*作为utils?情况A://utils.jsexportfunctiondoSomething(){//...}情况B://utils.jsexportfunctiondoSomething(){//...}exportdefaultfunctiondoSomethingDefault(){//...}更新:我被vscode的intellisense功能误导了,但正如推荐的那样,在node+babel上进行的小测试显示了差异://index.jsimportutilsCaseAfrom'./utils1'import*a

javascript - 使用 Google Closure Compiler Application 在一个文件中压缩所有文件 .js

我想在命令行中使用GoogleClosureCompiler将所有文件.js压缩到一个文件的同一目录中。对于一个文件,它是:java-jarcompiler.jar--jstest.js--js_output_filefinal.js但我没有在文档中找到如何将我的其他文件放在final.js的末尾而不覆盖最后一个压缩文件?我想要这样的东西:java-jarcompiler.jar--js--option*.js--js_output_filefinal.js我有可能还是必须做一个将所有文件添加到一个文件中并在压缩之后的程序?如果你能帮助我,谢谢你! 最佳答案

javascript - 使用 Google 的 Closure Compiler 缩小字符串的正确方法是什么?

我正在编写一个jQuery插件,我想通过用枚举替换常用的CSS属性字符串来缩小脚本的大小。但是,Google的ClosureCompiler将所有字符串变量替换为字符串文字。例如,选择高级优化:这个varx="heybobhowareyoudoing";alert(x);alert(x);alert(x);alert(x);返回alert("heybobhowareyoudoing");alert("heybobhowareyoudoing");alert("heybobhowareyoudoing");alert("heybobhowareyoudoing");如果不通过像JScra

javascript - 为什么 Closure Compiler 无法识别自执行匿名函数中的类型声明?

当我通过ClosureCompiler运行一个相当大的库时,我收到了很多“Unknowntype”警告,当我的类型在自执行匿名函数中声明时,它们似乎会发生。这并没有什么奇怪的,但是如果我去掉自执行函数,类型声明似乎可以工作(至少在这个简单的测试中是这样)。我不确定我的代码注释是否有问题,或者代码中是否有任何非法内容,但我认为这完全符合标准,并且是模块化API的标准方法。下面的测试代码创建了一个命名空间(只是一个普通的旧JS对象)并附加了一个枚举(一个对象字面量)和一个函数。varmynamespace={};(function(mynamespace){/***Someenum.*@e

javascript - 防止 Google Closure Compiler 重命名设置对象

我试图让GoogleClosureCompiler在作为设置或数据传递给函数时不重命名对象。通过查看jQuery中存在的注释,我认为这可行:/**@param{Object.}data*/window.hello=function(data){alert(data.hello);};hello({hello:"World"});然而,它最终是这样的:window.a=function(b){alert(b.a)};hello({a:"World"});ajax找到函数here有这个注释,它似乎工作。那么,为什么不呢?如果数据是来自外部源或设置对象的返回值,我希望能够告诉编译器不要触摸它

javascript - ES6 模块 : re-export as object

我有moduleA导出一些函数://moduleA.jsexportfunctionf1(){...}exportfunctionf2(){...}有没有什么方法可以重新导出moduleB中moduleA的所有导出并使其看起来像一个对象://moduleB.jsexport*asafrom'moduleA';//pseudocode,doesn'twork以便我可以这样使用它?//main.jsimport{a}from'moduleB';a.f1();a.f2(); 最佳答案 暂不支持该语法,但有aproposalforit.您现

javascript - Angular : Pass $scope variable as directive attribute

我试图将$scope变量值作为属性传递给自定义指令,但它不起作用。这是HTML代码:{{q.question}}指令是,这里是指令代码:app.directive('checkList',function(){return{restrict:'E',template:function(elem,attrs){console.log(attrs.name);return'YesNo'},link:function(scope,elem,attrs){}};})我正在记录属性attrs.name但我得到的值是"{{q.id}}"而不是q.id的实际值 最佳答案

javascript - "Resource interpreted as script but transferred with MIME type text/html."

很抱歉,如果这实际上是重复的,但我还没有设法找到我的问题的答案。我使用jQuery的$.getScript加载脚本。但它会导致以下错误:ResourceinterpretedasscriptbuttransferredwithMIMEtypetext/html.该问题仅在MacOS下的Safari中出现如果查看从服务器收到的header,它们包含Content-Type:application/x-javascript,所以我真的不明白问题出在哪里。 最佳答案 Resourceinterpretedasscriptbuttransf

javascript - `(this as any)` 在此 typescript 片段中意味着什么?

我遇到了这段代码,但不明白它到底做了什么:publicuploadItem(value:FileItem):void{letindex=this.getIndexOfItem(value);letitem=this.queue[index];lettransport=this.options.isHTML5?'_xhrTransport':'_iframeTransport';item._prepareToUploading();if(this.isUploading){return;}this.isUploading=true;(thisasany)[transport](item)