jjzjj

babel-plugin

全部标签

javascript - 如何将参数传递给 babel 6 中预设的插件?

我有一个reactpreset,我想将pragma参数传递给transform-react-jsx。现在我正在安装transform-react-jsx分别设置我的.babelrc如下:{"presets":["react"],"plugins":[["transform-react-jsx",{"pragma":"dom.hJSX"}]]}但我想知道是否有另一种方法可以将设置传递给预设中的插件。 最佳答案 所以我找到了babelgithub,正如我现在发现的那样thereisnoway将设置传递给预设中的插件。好的一面是anoth

javascript - gulp-sourcemaps 不适用于 babel 6

因此,babel发布了截然不同的版本6。源map显示不正确(在Chrome开发人员中单击js文件不会引导我到es6源文件中正确的对应行)。这是我的gulpfile:"usestrict";vargulp=require("gulp"),sourcemaps=require("gulp-sourcemaps"),babel=require("gulp-babel"),uglify=require('gulp-uglify'),rename=require('gulp-rename');varpaths=['dojo-utils','dom-utils/dom-utils','esri-u

javascript - 如何减小 babel-polyfill 的大小(缩小后 150 KB)?

我刚刚设置了新的webpack4项目,并在我的主js文件中导入了babel-polyfill导入'babel-polyfill';在webpack生产构建之后,我用source-map-explorer分析了我的bandle我看到了这样的图片所以babel-polyfill(core-js)占用了150Kb,这在我看来太多了。有什么想法可以减小尺寸吗?我不想包含任何特定的polyfill(应该有一些tree-shaking,所以应该删除未使用的代码?)。我使用这个样板:https://github.com/flexdinesh/react-redux-boilerplate/tree/

javascript - CommonJS - 如何将 jquery 和 jquery-plugin 组合到 $ 命名空间中

我想做的是调整我的jQuery插件以在Node.js上使用jQuery。据我了解,最基本形式的CommonJS需要将库包装在闭包中,并且该闭包应该作为“导出”参数的参数提供。这样,代码就整齐地包含在它自己的命名空间中(通过命名变量),并且不会污染全局命名空间。jQuery本身应该属于“$”命名空间。阿拉:var$=require(jquery);但我的插件也应该适合“$”命名空间。插件代码:(function($){//plugincodegoeshere})(jquery);exports.jquery=jquery//willthiswork?例如:var$=require(jqu

javascript - 如何在 gulpfile.js 中使用 babel-polyfill

在Babel中docs他们只是说要包含import"babel-polyfill";以便我可以使用ES6生成器,但是在我将该行包含在我的gulpfile.js中之后,我仍然会生成一个异常:UncaughtReferenceError:regeneratorRuntime未定义这是我的gulpfile.jsimport'babel-polyfill';vargulp=require("gulp"),babel=require("gulp-babel"),concat=require('gulp-concat'),rename=require('gulp-rename'),uglify=r

javascript - CORS plugin/--disable-web-security 如何在浏览器上工作?

我确定我不是唯一使用过/使用过CORSplugins的人对于浏览器或--disable-web-security标志,同时对外部(甚至内部)API端点进行API调用。我使用这个插件来进行谷歌地图相关的API调用。但在同一个应用程序中,ParseSDKAPI调用不需要CORS或--disable-web-security标志。我的问题是:为什么这些端点的行为不同以及CORS插件如何解决问题(即使我们无法控制这些API)?提前致谢。 最佳答案 好吧,那个插件的所作所为是非常不负责任的;它实际上禁用了同源策略,该策略强制特定源上的网站只能

javascript - Babel plugin-proposal-decorators 没有按预期工作

我在我的package.json中添加了这两个devDependencies:"@babel/plugin-proposal-class-properties":"^7.1.0","@babel/plugin-proposal-decorators":"^7.1.6",在.babelrc文件中,我将它们添加为插件:{"presets":["module:metro-react-native-babel-preset"],"plugins":[["@babel/plugin-proposal-decorators",{"legacy":true}],["@babel/plugin-pro

JavaScript:跨浏览器 "browser plugin"检测

我正在寻找一个脚本来检测用户是否安装了WindowsMediaPlayer、Quicktime、Flash或Silverlight...理想情况下,这将是jQuery插件,但任何脚本都可以。您知道可以推荐一个吗? 最佳答案 PluginDetect似乎工作得很好。您可以生成脚本的缩小版本,只选择您想要检测的插件和您需要的功能。 关于JavaScript:跨浏览器"browserplugin"检测,我们在StackOverflow上找到一个类似的问题: http

javascript - `es2016` 预设的 Babel 是否实现了尾调用优化?

我使用以下示例来测试Babel和es2016预设的尾调用递归:'usestrict';try{functionr(n){if(n%5000===0)console.log(`reachedadepthof${n}`);r(n+1);}r(0);}catch(e){if(!(einstanceofRangeError))throwe;elseconsole.log('stackblown');}我的package.json文件是:{"name":"tail-call-optimization","version":"1.0.0","description":"","main":"inde

javascript - 为什么 ES6 代码和 ES5 代码用 Babel.js 编译后结果不一样?

ES6代码:letfoo='outer';functionbar(func=x=>foo){letfoo='inner';console.log(func());}bar();//outer结果是“外部”。Babel.js编译后的ES5代码:'usestrict';varfoo='outer';functionbar(){varfunc=arguments.length结果是“外部”。我不知道为什么他们有不同的结果。 最佳答案 这是一个buginBabel.复杂参数列表中的表达式应该看不到函数体中的声明,但是这里Babel生成的代码