热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

WebpackbabelES6转ES5

npminstall-Dbabelcorebabelpreset-envbabelplugin-transform-runtimebabelpolyfillbabel-loader

npm install -D @babel/core @babel/preset-env @babel/plugin-transform-runtime @babel/polyfill babel-loader

创建.babelrc文件

命令行方式创建输入:type nul>.babelrc

{"presets": [["@babel/preset-env", {"useBuiltIns": "usage","modules": false}]],"plugins": [["@babel/plugin-transform-runtime", {"corejs": false,"helpers": false,"regenerator": false,"useESModules": false}]],"comments": false
}

添加module 

yarn add clone -D

webpack.config.js配置 babel-loader

let path = require('path');
let HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports= {mode:'development',//production developmententry:'./src/index.js',//入口output:{filename:'bundle.[hash:8].js',//打包后的文件名path:path.resolve(__dirname,'dist')},devServer:{port:8090,progress:true,contentBase:'./dist'},plugins:[new HtmlWebpackPlugin({template:'./src/index.html',filename:'index.html',minify:{removeAttributeQuotes:true,//删除属性双引号collapseWhitespace:true,//html折叠一行minifyJS: true,//压缩HTML中JSminifyCSS: true//压缩HTML中CSS},hash:true//生成hash戳})],module: {rules: [ // 定义css规则,use从下往上顺序执行{test: /\.css$/, // 正则匹配要识别的cssuse: [{loader: 'style-loader' // 使用style-loader进行处理,位置必须在css-loader前面},{loader: 'css-loader' // 使用css-loader进行处理}]//use:['style-loader','css-loader'] // 此处也可以这样写},{test:/\.less$/,use: [{loader: 'style-loader' // 使用style-loader进行处理,位置必须在css-loader前面},{loader: 'css-loader' // 使用css-loader进行处理},{loader: 'less-loader' //less ——> css}]},{test: /\.js$/,include: [path.resolve(__dirname, 'src')],exclude: /(node_modules|bower_components)/,loader: "babel-loader",}]}}

Superstr-1.0.js

function Superstr(){}
Superstr.prototype.version='1.0';
Superstr.prototype.jsonHttpRequest={/***请求JSON格式数据*@param:method 请求方式,标准的GET、POST(_method=PUT)*@param:url 请求地址URL*@param:asyn 是否异步请求*@param:callback 请求成功执行的回调函数*@data:请求参数*/request: function(method,url,asyn,callback,data) {var param = null;var temp = 'superstr_timestamp=' + new Date().getTime();if(data) {for(var key in data) {temp = temp + '&' + key + '=' + data[key]; }}if(method.toLocaleUpperCase()=='POST') {param = temp;} else {method = 'GET';if(url.indexOf('?')>-1) {url = url + '&' + temp;} else {url = url + '?' + temp;}}var xhr = new XMLHttpRequest();//创建Http请求对象xhr.onreadystatechange=function() {if(xhr.readyState==4&&xhr.status==200) {callback(JSON.parse(xhr.responseText));} else if(xhr.readyState==4){alert("———请求异常———"+"\n"+"请求地址(url):"+url+"\n"+"请求方式(method):"+method+"\n"+"状态码(status):"+xhr.status+"\n"+"异步(asyn):"+asyn);}}xhr.open(method,url,asyn);//true:异步 false:同步xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");xhr.send(param);}
}
Superstr.prototype.arrays={/***移除数组中重复的对象*@param:arr 数组*@param:property 数组中对象的属性名称*@return:array 处理后的数组*/only: function(arr, property) {let hash = {}var array = arr.reduce((item, next) => {if (!hash[next[property]]) {hash[next[property]] = true;item.push(next);}return item;}, [])return array;},/***过滤数组中的对象*@param:arr 数组*@param:property 数组中对象的属性名称*@param:value 数组中对象属性的值*@return:array 处理后的数组*/remove: function(arr,property,value) {var array = arr.filter((obj) => {return obj[property] != value} )return array;},/** *数组冒泡排序*@param:arr 数组*@param:property 数组中对象的属性名称*/bubbleSort: function(arr, property) {var array = arr,temp;for(var i=0; iarr[j][property]) {temp=arr[i];arr[i]=arr[j];arr[j]=temp;}}}return array;}
}
Superstr.prototype.classNames={names: {draggable:"draggable"},/***添加拖拽效果,对象互换*@descriptions:在添加效果之前需要保证对象可拖动(draggable="true")*/draggable: function() {var className = this.names.draggable;var obj = null;//拖动的对象window.onload=function() {var elements = document.getElementsByClassName(className);for(var n=0;n}
var _ = new Superstr();

index.js 导入 Superstr-1.0.js

import './Superstr-1.0.js';

执行打包命令

npx webpack

发现打包后的代码中已经没有 =>箭头函数了


推荐阅读
  • Vue应用预渲染技术详解与实践 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 深入浅出 webpack 系列(二):实现 PostCSS 代码的编译与优化
    在前一篇文章中,我们探讨了如何通过基础配置使 Webpack 完成 ES6 代码的编译。本文将深入讲解如何利用 Webpack 实现 PostCSS 代码的编译与优化,包括配置相关插件和加载器,以提升开发效率和代码质量。我们将详细介绍每个步骤,并提供实用示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 本文探讨了如何通过检测浏览器类型来动态加载特定的npm包,从而优化前端性能。具体而言,仅在用户使用Edge浏览器时加载相关包,以提升页面加载速度和整体用户体验。此外,文章还介绍了实现这一目标的技术细节和最佳实践,包括使用User-Agent字符串进行浏览器识别、条件加载策略以及性能监控方法。 ... [详细]
  • 基于Node.js的高性能实时消息推送系统通过集成Socket.IO和Express框架,实现了高效的高并发消息转发功能。该系统能够支持大量用户同时在线,并确保消息的实时性和可靠性,适用于需要即时通信的应用场景。 ... [详细]
  • 本文将详细介绍如何在Webpack项目中安装和使用ECharts,包括全量引入和按需引入的方法,并提供一个柱状图的示例。 ... [详细]
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • AppFog 是一个基于 CloudFoundry 的多语言 PaaS(平台即服务)提供商,允许用户在其平台上轻松构建和部署 Web 应用程序。本文将通过详细的图文步骤,指导读者如何在 AppFog 免费云平台上成功部署 WordPress,帮助用户快速搭建个人博客或网站。 ... [详细]
  • 利用 Vue CLI 脚手架在 Visual Studio Code 中创建 Vue 项目
    本文介绍了如何在 Visual Studio Code 中使用 Vue CLI 脚手架创建 Vue 项目。首先,确保已安装 Node.js 和 npm,因为 Vue CLI 的安装依赖于 npm。可以通过在命令行中输入 `npm -v` 来检查 npm 是否已成功安装。接下来,我们将详细说明 Vue CLI 的安装步骤及其在 Visual Studio Code 中的应用。 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
author-avatar
360691894_8a5c48
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有