babel

Webpack配置Vue项目

孤街醉人 提交于 2020-03-08 23:26:11
Webpack配置Vue项目 一. 基本配置 1. 在项目中安装和配置 webpack 使用webpack打包生成的文件就不会存在兼容性问题,可以使用es6的import语法 ① 运行 npm install webpack webpack-cli –D 命令,安装 webpack 相关的包 ② 在项目根目录中,创建名为 webpack.config.js 的 webpack 配置文件 ③ 在 webpack 的配置文件中,初始化如下基本配置: 注:使用development开发模式打包不会混淆和压缩,编译快速    使用生产模式会压缩和混淆代码,编译速度慢 module.exports = { mode: 'development' // mode 用来指定构建模式 } ④ 在 package.json 配置文件中的 scripts 节点下,新增 dev 脚本如下: "scripts": { "dev": "webpack" // script 节点下的脚本,可以通过 npm run 执行 } ⑤ 在终端中运行 npm run dev 命令,启动 webpack 进行项目打包。 2. 配置打包的入口与出口 webpack 的 4.x 版本中默认约定:    打包的入口文件为 src -> index.js    打包的输出文件为 dist -> main.js

vue 给UI库添加按需加载时启动项目时 babel-preset-es2015 报错

与世无争的帅哥 提交于 2020-03-08 23:05:30
项目使用vue cli3脚手架工具构建 按照element 官方文档中所示。 npm install babel-plugin-component -D 然后添加.babelrc文件 { "presets": [["es2015", { "modules": false }]], "plugins": [ [ "component", { "libraryName": "element-ui", "styleLibraryName": "theme-chalk" } ] ] } 报如下错误: Error: Cannot find module 'babel-preset-es2015' from 'C:\Users\Administrator\Des ktop\vueProject\vuedemo' 问题出在第二步,我是用vue3.0搭建的脚手架,只有一个babel-config.js的文件夹,但是把放进这个文件夹会报错,所以我在项目根目录新建了一个.babelrc文件,运行时发现报错es2015什么的,于是运行npm install babel-preset-es2015 --save-dev 安装es2015。 安装完成还是报错:plugin/preset files are not allowed to export objects, only functions 解决方法:

20.react库 入门

南笙酒味 提交于 2020-03-07 22:22:59
vue插件: 使用方式:Vue.use(插件名称); {}/function 1、对象 export default { install(Vue,options){ } } 2、函数 export default (Vue,options) => { } 插件里面传参数通过 propsData属性进行传递! exp1: import Toast from "./toast"; export default { install(Vue,options){//1 //插件2种形式 1、标签 2、方法 //2、方法 Vue.prototype.$toast = ()=>{ let VueComponent = Vue.extend(Toast); let oDiv = new VueComponent().$mount().$el; console.log(111111,oDiv); //111111 <div class=​"toast">​toast插件-----msg默认值​</div>​ document.body.appendChild(oDiv); setTimeout(()=>{ document.body.removeChild(oDiv); },2000); } } } show(){ //传参数 this.$toast("自定义提示信息1") } res:先出现后消失

EcmaScript 6 十大常用特性

杀马特。学长 韩版系。学妹 提交于 2020-03-07 16:11:04
以下是ES6排名前十的最佳特性列表(排名不分先后): Default Parameters(默认参数) in ES6 Template Literals (模板文本)in ES6 Multi-line Strings (多行字符串)in ES6 Destructuring Assignment (解构赋值)in ES6 Enhanced Object Literals (增强的对象文本)in ES6 Arrow Functions (箭头函数)in ES6 Promises in ES6 Block-Scoped Constructs Let and Const(块作用域构造Let and Const) Classes(类) in ES6 Modules(模块) in ES6 声明:这些列表仅是个人主观意见。它绝不是为了削弱ES6其它功能,这里只列出了10条比较常用的特性。 1.Default Parameters(默认参数) in ES6 还记得我们以前不得不通过下面方式来定义默认参数: 1 var link = function (height, color, url) { 2 var height = height || 50; 3 var color = color || 'red'; 4 var url = url || 'http://azat.co'; 5 ... 6

Babel插件开发入门指南

五迷三道 提交于 2020-03-07 08:27:10
文章概览 主要包括:Babel如何进行转码、插件编写的入门基础、实例讲解如何编写插件。 阅读本文前,需要读者对Babel插件如何使用、配置有一定了解,可以参考笔者 之前的文章 。 本文所有例子可以在 笔者的github 找到,欢迎访问 笔者博客 获取更多相关文章。 Babel运行阶段 首先来了解Babel转码的过程分三个阶段:分析(parse)、转换(transform)、生成(generate)。 其中,分析、生成阶段由Babel核心完成,而转换阶段,则由Babel插件完成,这也是本文的重点。 分析 Babel读入源代码,经过词法分析、语法分析后,生成 抽象语法树(AST) 。 parse(sourceCode) => AST 转换 经过前一阶段的代码分析,Babel得到了AST。在原始AST的基础上,Babel通过插件,对其进行修改,比如新增、删除、修改后,得到新的AST。 transform(AST, BabelPlugins) => newAST 生成 通过前一阶段的转换,Babel得到了新的AST,然后就可以逆向操作,生成新的代码。 generate(newAST) => newSourceCode 插件基础入门 典型的Babel插件结构,如下代码所示。 export default function({ types: babelTypes }) { return {

在对象数组中查找属性的最大值

廉价感情. 提交于 2020-03-06 11:25:23
我正在寻找一种非常快速,干净且有效的方法来获取以下JSON切片中的最大“ y”值: [ { "x": "8/11/2009", "y": 0.026572007 }, { "x": "8/12/2009", "y": 0.025057454 }, { "x": "8/13/2009", "y": 0.024530916 }, { "x": "8/14/2009", "y": 0.031004457 } ] for-loop是解决此问题的唯一方法吗? 我热衷于使用 Math.max 。 #1楼 var max = 0; jQuery.map(arr, function (obj) { if (obj.attr > max) max = obj.attr; }); #2楼 在对象数组中找到属性“ Y”具有最大值的对象 一种方法是使用Array reduce .. const max = data.reduce(function(prev, current) { return (prev.y > current.y) ? prev : current }) //returns object https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce http:/

初始react

时间秒杀一切 提交于 2020-03-06 00:15:29
  很久就期待学习react了,惰性,一直都没有去翻阅react的资料,最近抽空,简单的了解了一下react,先记录一下,后续慢慢的学习。 一、ReactJS简介   React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。   ReactJS官网地址:http://facebook.github.io/react/   Github地址:https://github.com/facebook/react 二、ReactJS特点   React 的核心思想是:封装组件。   各个组件维护自己的状态和 UI,当状态变更,自动重新渲染整个组件。   基于这种方式的一个直观感受就是我们不再需要不厌其烦地来回查找某个 DOM 元素,然后操作 DOM 去更改 UI。基于这些概念:组件,JSX,Virtual DOM,Data Flow    组件   React 应用都是构建在组件之上。   上面的 HelloMessage 就是一个 React 构建的组件,最后一句 render 会把这个组件显示到页面上的某个元素 mountNode 里面,显示的内容就是 <div>Hello John</div>。 props

gulp相关

穿精又带淫゛_ 提交于 2020-03-05 22:37:32
一、简介 gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器; gulp是基于Nodejs的自动任务运行器,她能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。在实现上,她借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,使得在操作上非常简单。 二、安装   通过 npm 来安装 gulp;(设置镜像源可以通过cnpm安装) 全局安装   在cmd中执行 cnpm i -g gulp 查看是否正确安装:命令提示符执行gulp -v,出现版本号即为正确安装 三、配置信息   1. npm init -y 生成package.json 文件 会自动存储下载的第三方依赖包信息,存储信息如下: { "name": "zhang", "version": "1.0.0", "description": "", "main": "gulpfile.js", "devDependencies": { "@babel/core": "^7.8.7", "@babel/preset-env": "^7.8.7", "del": "^5.1.0", "gulp": "^4.0.2",

如何在没有连接的情况下插值JavaScript中字符串中的变量?

牧云@^-^@ 提交于 2020-03-05 19:38:32
我知道在PHP中我们可以做这样的事情: $hello = "foo"; $my_string = "I pity the $hello"; 输出: "I pity the foo" 我想知道JavaScript是否也可以实现同样的功能。 在字符串内部使用变量而不使用串联-编写起来看起来更加简洁和优雅。 #1楼 从Firefox 34 / Chrome 41 / Safari 9 / Microsoft Edge开始,您可以使用名为 Template Literals的ES2015 / ES6功能,并使用以下语法: `String text ${expression}` 模板文字用 反 引号 (``) (重音)括起来,而不是双引号或单引号。 例: var a = 5; var b = 10; console.log(`Fifteen is ${a + b}.`); // "Fifteen is 15. 那有多干净? 奖金: 它还允许在JavaScript中使用多行字符串而不进行转义,这对于模板非常有用: return ` <div class="${foo}"> ... </div> `; 浏览器支持 : 由于较旧的浏览器(Internet Explorer和Safari <= 8)不支持此语法,因此您可能希望使用 Babel 将代码转换为ES5,以确保其可在任何地方运行。 边注:

深度解锁Webpack系列

可紊 提交于 2020-03-03 01:28:49
1.webpack 是什么? webpack 是一个现代 JavaScript 应用程序的静态模块打包器,当 webpack 处理应用程序时,会递归构建一个依赖关系图,其中包含应用程序需要的每个模块,然后将这些模块打包成一个或多个 bundle。 2.webpack 的核心概念 entry: 入口 output: 输出 loader: 模块转换器,用于把模块原内容按照需求转换成新内容 插件(plugins): 扩展插件,在webpack构建流程中的特定时机注入扩展逻辑来改变构建结果或做你想要做的事情 3.初始化项目 新建一个文件夹,如: webpack-first (当然,你可以使用任意一个你喜欢的项目名)。推荐大家参考本文一步一步进行配置,不要总是在网上找什么最佳配置,你掌握了webpack之后,根据自己的需求配置出来的,就是最佳配置。 本篇文章对应的项目地址(编写本文时使用): github.com/YvetteLau/w… 使用 npm init -y 进行初始化(也可以使用 yarn)。 要使用 webpack,那么必然需要安装 webpack、webpack-cli: npm install webpack webpack-cli -D 复制代码鉴于前端技术变更迅速,祭出本篇文章基于 webpack 的版本号: ├── webpack@4.41.5 └── webpack