babel

Couldn't find preset “env” relative to directory

夙愿已清 提交于 2019-12-06 17:04:17
问题 So far I have been unsuccessful in an attempt to use the env preset. I browsed the git issues that others have raised such as this, and implemented some of the suggestions that appeared to work for others, but no luck so far. Here's what I'm working with: package.json "bundle": "browserify ./client/app.js -d -o ./public/o.js -t [ babelify --presets [ env ] ]", "devDependencies": { "@babel/cli": "^7.0.0-beta.40", "@babel/preset-env": "^7.0.0-beta.40", "babel-core": "^6.26.0", "babelify": "^8.0

Babel Plugin Class Properties – React Arrow Functions

懵懂的女人 提交于 2019-12-06 16:38:34
I am running a React project using npm. After hours of research and experimenting, everywhere says I have to add the following code to my ".babelrc" file, which I do not have in my directory and cannot create: { "plugins": [ ["@babel/plugin-proposal-class-properties", { "loose": true }] ] } But this leads to the following error when I run the code: ERROR in ./src/components/NavBar/Menu.js Module build failed (from ./node_modules/babel-loader/lib/index.js): SyntaxError: /Users/ymoondhra/Desktop/yt-web/src/components/NavBar/Menu.js: Support for the experimental syntax 'classProperties' isn't

React使用JSX语法

☆樱花仙子☆ 提交于 2019-12-06 15:25:55
目录: 1、在React项目中启用JSX语法 2、在JSX中写js代码 1、在React项目中启用JSX语法   JSX语法:符和xml规范的js语法   JSX语法的本质:在运行时,转换成React.createElement形式来执行   第一步:安装babel插件: cnpm i babel-core babel-loader babel-plugin-transform-runtime -D cnpm i babel-preset-env babel-preset-stage-0 babel-preset-react -D   第二步:webpack.config.js var path = require('path') // 导入在内存中自动生成index页面的插件 const HtmlWebPackPlugin = require('html-webpack-plugin') const htmlPlugin = new HtmlWebPackPlugin({ template: path.join(__dirname, './src/index.html'), filename: 'index.html' // 生成的内存中首页的名称 }); module.exports = { mode: 'development', plugins: [ htmlPlugin

How to transpile node_modules folder using just babel 7?

家住魔仙堡 提交于 2019-12-06 13:08:39
Trying to unit test reactjs application using mocha but getting error from es6 features (import/export) used inside node_modules folder. The application in question is transpiled using babel but since one of react component is using a module from node_modules its throwing error Syntax Error:Unexpected token export . I am aware that babel ignores node_modules folder by default, but not sure how to approach this. Any help would be appreciated. Thanks. Test Command :- "test": "SET NODE_ENV=test&& mocha --require @babel/register --require ignore-styles -r jsdom-global/register \"./src/**/*.test.js

浅析babel产出

旧街凉风 提交于 2019-12-06 12:20:48
(function(modules) { // 缓存对象 var installedModules = {}; // require方法 function __webpack_require__(moduleId) { // 是否命中缓存 if (installedModules[moduleId]) { return installedModules[moduleId].exports; } // 新建 + 缓存 var module = (installedModules[moduleId] = { i: moduleId, l: false, exports: {} }); // 执行module方法 modules[moduleId].call( module.exports, module, module.exports, __webpack_require__ ); // 标志是否已加载模块,之后缓存里会走 module.l = true; return module.exports; } // expose the modules object (__webpack_modules__) __webpack_require__.m = modules; // expose the module cache __webpack_require__.c =

@babel/preset-env 与@babel/plugin-transform-runtime 使用及场景区别

北战南征 提交于 2019-12-06 11:09:00
之前在用babel 的时候有个地方一直挺晕的,`@babel/preset-env` 和 `@babel/plugin-transform-runtime`都具有转换语法的能力, 并且都能实现按需 `polyfill` ,但是网上又找不到比较明确的答案, 趁这次尝试 roullp 的时候试了试. 如果我们什么都不做, 没有为babel 编写参数及配置, 那babel 并没有那么大的威力, 它什么都不会做, 正是因为各个预设插件的灵活组合、赋能, 让 babel 充满魅力, 创造奇迹 首先是 @babel/preset-env ## @babel/preset-env 这是一个我们很常用的预设, 几乎所有的教程和框架里都会让你配置它, 它的出现取代了 `preset-es20**` 系列的babel 预设, 你再也不需要繁杂的兼容配置了。 每出一个新提案就加一个? 太蠢了。 有了它, 我们就可以拥有全部, 并且! 它还可以做到按需加载我们需要的 polyfill。 就是这么神奇。 但是吧, 它也不是那么自动化的, 如果你要是不会配置,很有可能就没有用起它的功能 不管怎么养, 首先试一下,眼见为实 首先创建一个 `index.js `,内容如下, 很简单 ```js function test() { new Promise() } test() const arr = [1,2,3

@babel/preset-env 与@babel/plugin-transform-runtime 使用及场景区别

余生长醉 提交于 2019-12-06 11:08:53
之前在用babel 的时候有个地方一直挺晕的, @babel/preset-env 和 @babel/plugin-transform-runtime 都具有转换语法的能力, 并且都能实现按需 polyfill ,但是网上又找不到比较明确的答案, 趁这次尝试 roullp 的时候试了试. 如果我们什么都不做, 没有为babel 编写参数及配置, 那babel 并没有那么大的威力, 它什么都不会做, 正是因为各个预设插件的灵活组合、赋能, 让 babel 充满魅力, 创造奇迹 首先是 @babel/preset-env @babel/preset-env 这是一个我们很常用的预设, 几乎所有的教程和框架里都会让你配置它, 它的出现取代了 preset-es20** 系列的babel 预设, 你再也不需要繁杂的兼容配置了。 每出一个新提案就加一个? 太蠢了。 有了它, 我们就可以拥有全部, 并且! 它还可以做到按需加载我们需要的 polyfill。 就是这么神奇。 但是吧, 它也不是那么自动化的, 如果你要是不会配置,很有可能就没有用起它的功能 不管怎么养, 首先试一下,眼见为实 首先创建一个 index.js ,内容如下, 很简单 function test() { new Promise() } test() const arr = [1,2,3,4].map(item =>

设置JavaScript函数的默认参数值

情到浓时终转凉″ 提交于 2019-12-06 10:20:31
我希望JavaScript函数具有我设置了默认值的可选参数,如果未定义值,则使用该参数(如果传递值,则将其忽略)。 在Ruby中,您可以这样操作: def read_file(file, delete_after = false) # code end 这可以在JavaScript中使用吗? function read_file(file, delete_after = false) { // Code } #1楼 在ECMAScript 6中,您实际上将能够准确地写出您拥有的东西: function read_file(file, delete_after = false) { // Code } 如果不存在或 undefined 它将 delete_after 设置为 false 。 您现在可以将诸如 Babel 这样的编译器与ES6功能一起使用。 有关更多信息,请参见MDN文章 。 #2楼 作为更新...使用ECMAScript 6,您可以像下面这样在函数参数声明中 最终 设置默认值: function f (x, y = 7, z = 42) { return x + y + z } f(1) === 50 如参考 -http://es6-features.org/#DefaultParameterValues #3楼 只需使用未定义的显式比较即可。 function

react 配置ant时遇见的一个Error: Multiple configuration files found. Please remove one: – package.json#babel – .babelrc 解决方案

纵然是瞬间 提交于 2019-12-06 10:17:03
这个问题是create react app 里面的package.json里面已经配置了 "babel": { "presets": [ "react-app" ] } 这样的配置,但是又在根目录下建立了一个babelrc的文件,所以导致重复,但是不可以直接删掉,不然报 编译失败 ./src/index.jsSyntaxError: D:\Work\ReactPro\src\index.js: Unexpected token (9:16)类似这样的错误,所以要把 "presets": [ "react-app" ] 配置放在babelrc里面,这个的意思是说 指定按照react-app的模式配置babel ,最终我的babel是这么配置的: { "plugins": [ ["import", { "libraryName": "antd", "style": "css" }] ], "presets": [ "react-app" ] } 问题解决,这样的按需引入插件可以比全局引入减少1.2-1.5M左右的大小 关于,babel的一些配置解释,可以参考这个文章: http://www.fly63.com/article/detial/5675 来源: https://www.cnblogs.com/llcdbk/p/11976899.html

rollup 使用babel7版本的插件rollup-plugin-babel,rollup-plugin-babel使用报错解决办法。

风格不统一 提交于 2019-12-06 09:53:36
最近在研究rollup,想吐槽下rollup的官方文档写的真的太简单了,而且照着文档一步步来还报错,说明文档年代有点久远啊。。。 照着文档使用rollup-plugin-babel报错,首先打开rollup-plugin-babel的github文档看,发现报错原因是babel现在有7和6这2个差别较大的版本,rollup的文档是babel6的使用方法,既然是学习肯定要学习最新的使用方式撒。照着rollup-plugin-babel的文档大致读了一遍,没找到啥有用的信息,没办法,就只能去babel官网找下使用方式。 https://www.babeljs.cn/docs/usage babel官方文档写的很清楚哈 安装这些东西然后这么些东西就行了,我们稍微改一下,把.babelrc文件这么写 { "presets": [ [ "@babel/env", { "modules": false, "useBuiltIns": "usage" } ] ] } 然后其他不变,执行rollup -c 然后终于可以打包了,然后控制台还会报警告,让我看着很不爽 再去查了下资料,大概意思是说要你指定corejs指定哪个版本 于是改.babelrc文件为 { "presets": [ [ "@babel/env", { "modules": false, "useBuiltIns": "usage"