草庐IT

ES导入导出

全部标签

JavaScript (ES6) : Named parameters and default values

我来自Python,我真的很喜欢设置命名参数和默认值的方式——现在看来ES6允许我做类似的事情。但我不明白为什么最后一次通话中断了:fun=({first=1,last=1})=>(1*first+2*last)console.log("-----------")console.log(fun({first:1,last:2}))console.log("-----------")console.log(fun({last:1,first:2}))console.log("-----------")console.log(fun())//Breaks 最佳答

javascript - ES6 类 - 从事件处理程序中调用方法

我正在尝试为当前项目中的交互式日历编写一个ES6类。该类类似于以下内容:classCalendar{constructor(s){this.eventButtons=s.eventButtons;this.eventButtons.forEach(button=>button.addEventListener('click',this.method1);this.eventBoxes=s.eventBoxes;method1(e){e.preventDefault();this.method2(e.target.href);}method2(url){console.log(url);

javascript - 混合使用 ES6 Promise 和 JQuery Promise

我使用过$q(Angular.js),并且经常会在.then调用中返回promise。结果是下一个.then调用将等待上一个promise完成。我现在正在使用原生es6promises来尝试“promisify”一个基于回调的库,但我无法这样做。问题是.then链中的下一个值是一个promise对象,而不是该promise的解析值。它在promise解析之前调用下一个.then值,简单地返回最后一个返回值。有没有办法等待之前的promiseresolve?例子:$.ajax({url:"//localhost:3000/api/tokens",type:"POST",data:JSON

javascript - Node js 对象导出

有一个非常简单的问题,我无法找到有关从Nodejs中的模块导出对象的答案,更具体地说是访问对象属性。这是我导出的对象:exports.caravan={month:"july"};这是我的主要模块:varcaravan=require("./caravan")console.log(caravan.month);console.log(caravan.caravan.month);为什么我不能直接使用caravan.month访问属性,而必须编写caravan.caravan.month? 最佳答案 考虑使用require,您可以访

javascript - 如何使用 ES6 模块导入导入路径

有没有什么好的方法可以使用动态路径优雅地加载模块(IDE可以建议或进入文件)或从根目录开始导入模块?import*asQfrom'q';import*asloopbackfrom'loopback';importdatasourcesfrom'../../../datasources.json';importappfrom'../../../server';import{ApiError,ValidationError,DatabaseError}from'../../../utils/error-handlers'; 最佳答案 模

javascript - es6 中 Map 和 WeakMap 集合的垃圾收集

我正在阅读WeakMap的描述,它说:InnativeWeakMaps,referencestokeyobjectsareheld"weakly",whichmeansthattheydonotpreventgarbagecollectionincasetherewouldbenootherreferencetotheobject.通过阅读本文,我的理解是WeakMaps用于您试图利用JavaScript垃圾回收的实例。我从根本上不理解的是我加粗的那行。为什么在普通Map中,没有引用它们的对象不会被垃圾回收?这有什么好处,我是否必须从普通map中明确删除?

javascript - Visual Studio Code ES7/JS 智能感知

我正在尝试使用VisualStudioCode编辑reactstarterkit中的文件项目。React项目使用Babel进行转码,因此它只有.js文件而不是.ts文件。我希望VSCode为这些文件提供适当的智能感知...包括新的async/awaitJavascript关键字。到目前为止,如果我将文件的扩展名从.js重命名为.ts,我只能让intellisense正常工作,但我不想转换整个项目只是为了适合我个人的工具选择。有没有办法让VSCode将.js文件当作.ts文件来处理...仅仅是为了ES7智能感知?我发现了threadofdiscussionaboutthis,但我不确定今

javascript - 获取所有已声明模块导入的列表 (SystemJS)

我正在使用jspm和SystemJS导入ES2015模块。是否可以通过System对象或其他任何地方获取项目中所有导入模块的列表?我可以通过System._loader.moduleRecords访问我的项目特定模块,但是我通过jspm安装的模块(例如,d3、jquery)不会出现在这个列表中。System._loader.modules包含所有模块的列表,但遗憾的是还包含转译我的代码和模块加载包所需的模块列表。System._loader.moduleRecords(项目模块)System._loader.modules(项目模块、库、转译包)我只想要一个已声明导入的列表,特别是那些

javascript - 导入 react-native-fetch-blob 时出现意外 token

我们正在尝试使用以下代码导入react-native-fetch-blob包:constRNFetchBlob=require('react-native-fetch-blob');constfirebase=require('firebase');但是,当我们尝试构建时,出现如下意外token导入语法错误。C:\Users\...\node_modules\react-native-fetch-blob\index.js:5import{^^^^^^SyntaxError:UnexpectedtokenimportatObject.exports.runInThisContext(v

javascript - 是否可以在 javascript 中迭代导入的模块?

这个问题在这里已经有了答案:import*asiterablearrayinTypeScript(1个回答)关闭1年前。在我想要动态访问的所有导入模块中,我有一个公共(public)导出属性route,但不知道如何遍历导入模块列表。这能做到吗?importUserfrom'/components/user.js';importDocumentfrom'/components/document.js';varroutes=[];[arrayofimportedmodules].forEach(m=>routes.push(m.route));更新:到目前为止,我已经尝试了以下方法,但在其