草庐IT

ES导入导出

全部标签

javascript - ES6 默认值在 function.arguments 中不可用?

如果我有这个ES6函数声明和调用:functionmyFunction(arg1,arg2="bob"){console.log("arguments",arguments);}myFunction(1);...console.log()语句仅显示一个值为“1”的参数。“鲍勃”无处可寻。这是预期和/或期望的行为吗?我希望默认值在arguments对象中可用。如果没有,有没有办法以其他方式动态获取所有参数+默认值?提前致谢! 最佳答案 是的,这是预期和期望的。arguments对象是传递给函数的值的列表,没有别的。它没有隐式链接到参数

javascript - 如果我使用的是 ES6 模块,还需要模块加载器吗?

不幸的是,我对JavaScript模块加载器的了解仍在增长,我正试图了解它们与新的ES6模块的关系。据我所知,使用CommonJS或RequireJS等模块加载器使用ES5兼容JavaScript确实需要使用异步模块加载器的使用,以提高性能并仅在需要时使用相应模块加载器的语法进行加载。然而看着ES6moduledocumentation阅读其他信息,在我看来,模块加载是通过import和export关键字原生支持的。如果是这种情况,我是否更正了ES6JS模块native支持异步模块加载,因此我不需要使用像CommonJS或RequireJS? 最佳答案

javascript - 导出/导入语句中使用和不使用大括号符号有什么区别?

我是ES6的新手,对类的导出和导入方式有点困惑。似乎许多不同的符号都是有效的,但工作方式不同。我在src/web-api.js中写了一个这样的类:classWebApi{//...}export{WebApi};我导入的是:import{WebApi}from'./src/web-api.js'这工作正常,但在我尝试没有花括号的同样的事情之前它没有工作:exportWebApi;//Tellsme'{'expectedimportWebApifrom'./src/web-api.js';//NosyntaxerrorbutWebApiisundefined即使在MDNdocumenta

javascript - webpack 2 预期 '!' 错误与导入一起使用

我想使用这个svg加载器,https://github.com/jhamlet/svg-react-loader在说明中我遵循了用法,比如importLogofrom'svg-react-loader?name=Logo!../images/logo.svg';但是我得到了错误Line3:Unexpected'!'in'svg-react-loader?name=Logo!../images/logo.svg'.Donotuseimportsyntaxtoconfigurewebpackloadersimport/no-webpack-loader-syntax

javascript - 在 ES6 深度嵌套的对象的 javascript 数组中查找值

在一个对象数组中,我需要找到一个value——其中key是activity:但是activitykey可以像这样深度嵌套在数组中:constactivityItems=[{name:'Sunday',items:[{name:'Gym',activity:'weights',},],},{name:'Monday',items:[{name:'Track',activity:'race',},{name:'Work',activity:'meeting',},{name:'Swim',items:[{name:'Beach',activity:'scubadiving',},{name

javascript - 将现有的 JavaScript 项目导入 Grunt/Brunch 项目

我观看了PaulIrish宣布Yeoman(www.yeoman.io)的演讲,并且我对运行连续构建环境的概念非常着迷。不满足于等待Yeoman邀请,我尝试了Grunt和Brunch。两者都可以轻松安装,而且我可以轻松启动并运行新项目。我不明白如何将现有项目迁移到任一平台。我的项目使用单个命名空间并为模块使用两个约定(一个用于实例化另一个用于实用程序),每个约定都包含在导出到实例或命名空间的自执行匿名函数中。我至少有200个模块和更多简单的辅助函数导出到命名空间;因此,使用控制台在grunt/brunch项目中创建这些,然后单独手动导入每个模块,效率并不高。此外,我使用了至少15种不同

javascript - 如何在 ES6 中创建主导入文件?

我希望使用ES6语法创建一个主导入文件。我有一个包含index.js文件的组件目录。如果有意义的话,我想export导入。本质上,我想将各个组件文件导入然后导出到索引文件中,这样我就可以从任何其他文件中解构我的imports,如下所示:import{Comp1,Comp2}from"./components"如何使用ES6语法做到这一点? 最佳答案 你可以这样做:export*from"./components"//orexport{Comp1,Comp2}from"./components"如何准确引用components/ind

javascript - 为什么我们不能使用 ES6 箭头函数创建原型(prototype)?

首先,我创建一个ES5函数,然后创建它的原型(prototype):varPerson=function(){};Person.prototype.city=function(){return'NewYork'}我在这里没有错误。但是当我使用ES6粗箭头函数创建相同的对象时,我得到Cannotsetproperty'city'ofundefined:letPerson=()=>{};Person.prototype.city=()=>{return'NewYork'}这是为什么? 最佳答案 因为根据定义,箭头函数没有原型(proto

javascript 模块导出模式

谁能解释一下exports变量的用途:从backbone.js复制,我也注意到spine.js使用相同的模式。https://gist.github.com/1375748varBackbone;if(typeofexports!=='undefined'){Backbone=exports;}else{Backbone=root.Backbone={};} 最佳答案 该模块模式是CommonJS的一部分规范称为CommonJSModules:Inamodule,thereisafreevariablecalled"exports"

javascript - ES6 (AngularJS) 服务

在使用ES6创建服务时,我在访问$http等Angular内置服务时遇到问题。例如,我正在创建一个“ResultsFinder”服务,它将执行AJAX调用,然后执行一些操作。问题是我只能在构造函数上访问$http(如果我将它作为参数传递),而不能在其他方法(例如getResults)上访问。请参阅此代码示例:(()=>{'usestrict';classResultsFinder{constructor($http){}getResults(){return'ResultsFinder';}}/***@ngdocservice*@nameitemManager.service:Resu