草庐IT

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 - webpack 和 babel-polyfill : Can't resolve 'core-js/modules/es6.array.map' in source directory

当我执行webpack时遇到这个错误:Modulenotfound:Error:Can'tresolve'core-js/modules/es6.array.map'in'/path/to/project/src'@./src/index.ts1:0-39index.ts:console.log([1,2,3].map(x=>x*x));.babelrc:{"presets":[["@babel/preset-env",{"useBuiltIns":"usage"}]]}webpack.config.js:constpath=require('path');module.exports

javascript - 使用 Webstorm (Babel) 进行 ES6 调试

有webstormv10,babelfile-watcher工作正常,一切都很好。现在我想调试代码,有什么方法可以调试ES6文件本身,还是必须在编译的JS输出文件babel上调试?请指教。 最佳答案 Jetbrains'ticketsystem中存在与此相关的问题.我认为这个问题已经解决了。另见对应的GitHubissueintheBabelrepo.有一个examplesetuponJetbrains'blog,基本上设置了babel标志,例如--source-maps。这可能是一个duplicate.

javascript - 引用导入的 es6 类的正确 JSDOC 语法是什么?

我正在尝试找出在JSDOC中将外部类指定为参数/返回的正确语法。所以,例如,我有:importreduxfrom'redux';/***@param{object}state*@return{{module:redux.Store}}*/exportfunctioninitState(state=initialState){store=redux.createStore(theReducer,Immutable.fromJS(state));returnstore;}问题是,如果我在webstorm中使用它,Store上的“GoToDeclaration”会将我带到完全不相关的地方。这

javascript - 我们可以用 ES6 模板替换现有的 JS 模板解决方案吗?

ES6的一个非常吸引人的特性是它内置的模板字符串。在这个时候,由于转换为ES5是跨浏览器兼容性的必要条件,我很好奇转换后的ES6模板与现有解决方案(例如Mustache、Handlebars、Jade等)之间的性能差异是什么。显然,如果您需要来自模板语言,ES6模板可能无法满足您的所有需求,但如果您正在执行基本模板,可以说ES6模板字符串可以取代您当前的模板引擎是否公平? 最佳答案 ES6中的模板字符串与在JavaScript中实现的各种模板引擎并没有真正的关系。大多数模板引擎(Underscore、Lodash、Mustache、

javascript - 新的 javascript ES6 模块术语中合格和不合格的导入有什么区别?

我遇到了这个区别,在ExploringJS中没有很好地解释Qualifiedandunqualifiedimportsworkthesameway(theyarebothindirections)有什么区别,因此这个陈述是什么意思? 最佳答案 严格来说,JavaScrpit中没有合格/不合格的导入。这些术语在AxelRauschmayer博士的“探索ES6”一书中在循环依赖的上下文中使用,大致意思是:不合格导入(直接导入模块的一部分):通用JS:varfoo=require('a').foo//doesn'tworkwithcycl

javascript - webpack -p 无法丑化 es2015 代码

webpack-pcli命令无法对es2015代码进行uglify包.json"devDependencies":{"babel":"^6.5.2","babel-core":"^6.13.2","babel-loader":"^6.2.4","babel-preset-es2015":"^6.13.2"}webpack.config.jsvarwebpack=require("webpack");varconfig={entry:'./src/app.js',devtool:"source-map",output:{path:'../Scripts',filename:'bundle

javascript - Firefox ES6,获取类构造函数名称

在Firefox中使用ES6类时,我在获取构造函数的名称时遇到问题。在Chromium中它工作正常,但Firefox似乎有某种错误?在Firefox中,我只返回一个空字符串。有人知道解决方法吗?classMyClass{}leta=newMyClass();console.log(a.constructor.name); 最佳答案 我认为这是一个错误(根据下面的评论)。似乎指定显式构造函数在Firefox中表现出正确的行为(即使是最新版本48)。classMyClassWithConstructor{constructor(){co