草庐IT

javascript - 使用模块加载和类继承将 ES6 转换为 ES5

我正在尝试找到将我的ECMAScript6代码转换为ES5的最佳/有效解决方案。我想使用模块加载器并利用继承。到目前为止,我最接近的是使用带有es2015预设和transform-es2015-modules-systemjs插件的Babel6。这是我的.babelrc文件:{"presets":["es2015"],"plugins":["transform-es2015-modules-systemjs"]}我的文件结构如下:-dist(transpiledfilesinthesamestructureasthesrcfolder)-src-classes-Point.js-Col

javascript - babel-preset-env 不使用 webpack 转译箭头函数

我正在将babel与webpack结合使用,我试图让箭头函数与InternetExplorer一起工作,但我无法让它工作。这是我的package.json开发依赖项:"devDependencies":{"babel-core":"^6.26.3","babel-loader":"^7.1.5","babel-plugin-transform-class-properties":"^6.24.1","babel-preset-env":"^1.7.0","webpack":"^3.12.0","webpack-cli":"^3.1.0"}这是我的webpack.config.js:mo

javascript - 为什么 TypeScript 转译器将枚举编译成字典查找而不是简单的对象?

我很好奇为什么TypeScript转译器将枚举编译成字典查找而不是简单的对象。这是一个TypeScript枚举示例:enumtransactionTypesEnum{None=0,OSI=4,RSP=5,VSP=6,SDIV=7,CDIV=8}这是TypeScript发出的JS代码:varTransactionTypes;(function(TransactionTypes){TransactionTypes[TransactionTypes["None"]=0]="None";TransactionTypes[TransactionTypes["OSI"]=4]="OSI";Tran

javascript - ES6 转译器中的导入/导出

这个问题在这里已经有了答案:howexportvariableinES6inChrome/Firefox?[duplicate](1个回答)关闭7年前。Thisisnotaduplicateofbelowquestionswhichisdealingwithbrowserspecificquestions.I'mexpectingananswerwhetherimport/exportwillworkinClientsideornot.ECMA6NotworkingalthoughexperimentaljsisenabledhowexportvariableinES6inChrome

javascript - 使用 Node 在内存中转译 TypeScript

有没有办法用Node在内存中转译TypeScript?我希望能够在内存中获取生成的JavaScript。 最佳答案 是的。TypeScript提供了一个ts.transpileModule函数:constts=require('typescript');constsource="letx:string='helloworld'";constresult=ts.transpileModule(source,{compilerOptions:{module:ts.ModuleKind.CommonJS}});console.log(re

javascript - 在 Node 中转译 TypeScript 的最快方法

为Node转译Typescript的最佳(实时?)方式是什么?我正在使用WebStorm和gulp,任务backend:watch在后台运行以监听变化。因此,当我在WebStorm中点击“保存”时,它会将TS转换为JS并存储在/build目录下。我的方法很有效,但转译很耗时,-每次运行需要两到三秒,秒变成分钟,依此类推。有没有办法优化它,更好的选择?https://www.npmjs.com/package/ts-node是另一种选择,但我是不确定它是否比我目前拥有的更好。此外,听说过基于Electron的新VisualStudio,但它节省了JS文件在同一位置,这对我来说看起来不整洁

javascript - 使用对象变量屏蔽参数时,转译代码会抛出错误

我们尝试将以下代码移植到ES6:functionapitest(data){data.cb(true);}functiontest(cb){apitest({cb:function(data){commit(cb,data);}});functioncommit(cb,data){cb(data);}}test(data=>{document.write(data);});它可能看起来有点困惑,但它确实符合我们的预期(返回true)并且不会抛出错误。但是,Babel将其转译为:"usestrict";functionapitest(data){data.cb(true);}functi

javascript - 不用Webpack,在客户端使用Babel转译导入导出?

我可以使用Babel编译JSX并通过全局命名空间导出变量吗?我不想运行随机的Webpack服务器。我已经全神贯注于ES6、JSX、Babel和React,对另一个使如此简单的任务复杂化的库不在乎最终我想导出我的React类并导入另一个类。从理论上讲,它应该只在满足依赖项之前阻塞,我不明白这怎么可能是一种反模式,因为我的所有代码和外部依赖项都在本地缓存。这是的默认行为标签,只是不是varmessage="helloworld";console.log(message);//undefined我可以使用ES6导出和导入,但不能使用另一个随机文件服务器 最佳答案

javascript - 无法动态转译 ES 模块 System.config({ transpile : 'transpile-module' })

这是我的tsconfig.js{"compilerOptions":{"experimentalDecorators":true,"emitDecoratorMetadata":true,"moduleResolution":"node","target":"es5","module":"system","noImplicitAny":false,"outDir":"built","rootDir":".","sourceMap":false},"exclude":["node_modules"]我正在使用tsc命令将我的“hello-angular.ts”转译为“hello-angu

javascript - 通过转译器在 Javascript 中实现运算符重载

对于我们中的一些人来说,使用Javascript的问题之一是缺少运算符重载。这使得编写数字库变得很尴尬。例如,我们可能想写这样的东西:vara=newBigInteger(5);varb=newBigInteger(10);varc=a+b;一个可能的解决方案是将具有运算符重载的语言转换为Javascript。虽然可行——通过函数调用和类型检查替换运算符——但共识似乎是,如果不降低性能,这是不可能的。由于这个原因,CoffeeScript拒绝了这个想法:https://github.com/jashkenas/coffee-script/issues/846但是真的没有聪明的解决办法吗