使用webpack+babel来"编译"你的JS代码(上)

webpack高级-babel的使用 💅 想寻找共同学习交流、共同成长的伙伴,文章最后有作者l联系方式(备注进群) 阅读详情

我常规的引用外部JS文件是
在es2015中,并不需要这样。我们使用import…from语法

示例:我们在ui.js里定义2个变量

let name = "jack";
let age = 18;
exprot{name,age}; //导出这2个变量

然后在index.js引入:

import{name,age} from "./ui.js";
console.log(name);

然后我们”编译”index.js:

$ babel ./es2015/index.js --out-file ./es2015/index-build.js

编译之后的index-build.js:

"use strict";

var _ui = require("./ui.js");

console.log(_ui.name);

这时我们发现
babel把引用部分编译成了require,而require在我们当前的es5中不能运行的。
这时我们就要安装一个新工具webpack(最火的一款模块加载器简打包工具,它能把各种资源,例如js含”JSX”、coffee、样式含”less/sass”、图片等)

如何安装webpack?

$ sudo npm install -g webpack

我们用nodejs的语法重写ui.js

var name = "jack";
exports.abc = name;

在index.js里:

var m = require("./ui.js");
console.log(m.abc);

nodejs是无法在浏览器运行的,所以我们就要借助webpack来打包一下:

$ webpack   ./es2015/index.js ./es2015/index-webpack.js

我们在浏览器测试,控制器打印了”jack”,html代码:

<!DOCTYPE html>
<html>
<head>
    <title>es2105的写法</title>
    <script type="text/javascript" src="es2015/index-webpack.js"></script>
</head>
<body>

</body>
</html>

webpack打包之后的index-webpack.js我们也可以看一看:

/******/ (function(modules) { // webpackBootstrap
/******/    // The module cache
/******/    var installedModules = {};

/******/    // The require function
/******/    function __webpack_require__(moduleId) {

/******/        // Check if module is in cache
/******/        if(installedModules[moduleId])
/******/            return installedModules[moduleId].exports;

/******/        // Create a new module (and put it into the cache)
/******/        var module = installedModules[moduleId] = {
/******/            exports: {},
/******/            id: moduleId,
/******/            loaded: false
/******/        };

/******/        // Execute the module function
/******/        modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);

/******/        // Flag the module as loaded
/******/        module.loaded = true;

/******/        // Return the exports of the module
/******/        return module.exports;
/******/    }


/******/    // expose the modules object (__webpack_modules__)
/******/    __webpack_require__.m = modules;

/******/    // expose the module cache
/******/    __webpack_require__.c = installedModules;

/******/    // __webpack_public_path__
/******/    __webpack_require__.p = "";

/******/    // Load entry module and return exports
/******/    return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ function(module, exports, __webpack_require__) {

    var m = __webpack_require__(1);
    console.log(m.abc);

/***/ },
/* 1 */
/***/ function(module, exports) {

    var name = "jack";
    exports.abc = name;

/***/ }
/******/ ]);
[多智能体强化学习] 王树森YouTube课程笔记 前言 近期在设计V2X资源分配任务下的状态空间和动作空间,可以说是一筹莫展,是自己菜,现在看来可能也是涉及到一些关于多智能体强化学习实现过程中过于细节的点,目前的知识储备还不够。因此打算用半周到一周的时间重电,希望之后能有进展。 本文内容来自于友人LX所推荐的油管教程,链接如下:多智能体强化学习,一共两节课40min左右。教程废话不多干货不少,老师的声音还好听,推荐直接去看原教程。 这里还要多一嘴,那就是对于强化学习来说,单主体和多主体的界限,在某种程度上来说是很模糊的,并不是场景中有多个主体需要.. 阅读详情

相关推荐

Python实现微信PC端聊天记录自动化监听与智能回复

本文详细介绍了如何使用Python实现微信PC端聊天记录的自动化监听与智能回复。通过win32api和uiautomation库,模拟人工操作,实时监控聊天窗口并抓取新消息。文章重点讲解了核心代码逻辑、环境搭建步骤,并提供了实现关键词触发自动回复的完整方案,旨在提高工作效率与信息管理自动化水平。

weixin_29092031的博客 345

webpack和babel

webpack和babel 一.为什么用webpack: 二.webpack环境搭建: 1》必须安装node.js 2》npm init -y -----package.json 3》npm install webpack webpack-cli -D ----node_modules package-lock.json 4》创建入口文件: src文件夹-index.js 5》新建webpack.config.js: mode:‘development’此时为开发者模式,压缩后的文件代码不是压缩的

qq_25503949的博客 713

AD56XXR系列DAC驱动设计:SPI接口、寄存器配置与嵌入式工程实践

数模转换器(DAC)是嵌入式系统实现高精度模拟控制的核心器件,其性能取决于通信协议可靠性、寄存器配置准确性及硬件协同设计能力。基于SPI总线的电压输出型DAC广泛应用于工业控制、光模块偏置、传感器校准等场景,需兼顾静态精度、动态响应与低功耗特性。AD56XXR系列作为典型集成内部基准与多通道同步更新能力的12/14/16位DAC,支持轨到轨输出与灵活掉电模式,为资源受限MCU提供可移植固件范式。本文围绕SPI时序约束、16位指令字解析、LDAC同步机制及精度补偿策略展开,覆盖从硬件连接、初始化流程到量产级可

weixin_33481022的博客 608

在webpack中配置bable

Babel是一个编译工具**,主要用于在旧浏览器或过时的JavaScript语言版本中转换新的或标准的JavaScript语法和功能。它的主要作用是解决跨浏览器的兼容性问题,让我们能够使用最新的JavaScript特性,而不必担心它们不被支持的浏览器无法使用。具体来说,Babel可以将ES6及以上的代码转换为ES5或更低版本的代码,使得这些新特性也能在较旧的浏览器上运行。同时,Babel也支持一些插件,如TypeScriptFlowReact等,它们可以帮助我们更加高效、舒适地使用这些语言或框架。

jieyucx的博客 3297

从OpenClaw到Hermes Agent:AI Agent实战部署与自动化工作流构建

AI Agent(智能体)作为大语言模型(LLM)的能力延伸,其核心原理在于通过工具调用(Tool Calling)与环境交互,使模型从“对话”走向“执行”。这一技术价值在于将自然语言指令转化为具体操作,实现业务流程自动化,从而提升开发与运维效率。在应用场景上,AI Agent广泛适用于自动化运维、智能客服、数据报告生成等重复性任务处理。本文聚焦于两大热门开源框架OpenClaw与Hermes Agent,深入探讨其部署配置、技能扩展及实战联调。通过结合OpenClaw的模块化扩展能力与Hermes Age

weixin_34122810的博客 503

高压脉冲发生器的各种电路图

高压脉冲发生器的各种电路图

qq_65102825的博客 5898

【Webpack】与【Babel】详细说明介绍

【Webpack】与【Babel】详细说明介绍

阿晨的博客 958

链路状态路由协议 OSPF (一)

本章将会学习链路状态路由协议OSPF,理解OSPF的基本概念,工作原理,掌握OSPF配置基本命令。本章重点,OSPF的基本概念,OSPF配置。

yj11290301的博客 3473

【Webpack】Babel 配置详解

Babel 是一个 JavaScript 编译器,主要用于将现代 JavaScript(如 ES6+、TypeScript)代码转换为兼容性更广泛的旧版本 JavaScript(通常是 ES5)。这样做可以确保代码在较旧的浏览器或环境中也能正常运行。Webpack 与 Babel 的结合是现代 JavaScript 应用开发中不可或缺的一部分。Babel 提供了强大的代码转换能力,使开发者可以使用最新的 JavaScript 特性,同时保证代码在较旧的环境中也能正常运行。

lph159的博客 3015

L3自动驾驶时代,域控制器核心解析(第一篇:架构演进与五域基础)

本文作为L3域控制器系列的第一篇,核心梳理了3个关键内容:L3时代为什么必须用域控制器:解决分布式ECU的协同、算力、迭代难题;域控制器的演进路线:从分布式ECU→域集中式→中央计算平台;博世五域架构的核心解析:五大域的定位、功能与典型方案。后续将持续更新系列文章,重点覆盖:第二篇:L3对域控制器的关键技术要求(传感器、算力、线控、软件、通信);第三篇:域控制器全产业链拆解(上游芯片、中游器件、下游总成);第四篇:域控制器的产业机遇与国产替代进展。

getusushu的博客 524

BMP280气压传感器原理图设计,已量产(压力传感器)

做嵌入式项目时,“小而精” 的传感器模块永远是刚需 —— 尤其是需要同时测气压和温度的场景,比如无人机定高、环境监测节点、穿戴设备等。最近捣鼓了一款 BMP280 的 Breakout 板,封装做得很紧凑,同时兼顾了稳定性和兼容性,这里单聊硬件设计细节。

不脱发的程序猿 299

webpack和babel用法

webpack和babel用法

weixin_43189240的博客 329

【DRAM存储器十五】DDR介绍-关键技术之DLL和prefetch

详述DDR DLL和预取原理以及几个DDR相对初代SDRAM新增的时序参数

highman110的博客 4362

使用webpack+babel来"编译"你的JS代码(下)

上节课我们学习了 1.安装了babel的es2015转换器 编写了一个简单的es2015语法的js代码 let name = “zhangsan”; 2.执行了 babel index.js –out-file xxx.js 把代码进行转化 3.安装了webpack,对我们的代码进行打包(非es2015代码)这节课我们来学习如何结合babel对我们的es2015代码进行webpack打包

1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

使用webpack+babel来"编译"JS代码

常规的引用外部JS文件是  在es2015中,并不需要这样。我们使用import…from语法 示例:我们在ui.js里定义2个变量 let name = "jack"; let age = 18; exprot{name,age}; //导出这2个变量 然后在index.js引入: import{name,age} from "./ui.js"; console.log(name);...

山鬼谣弋痕夕的博客 1705

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

babel使用入门以及使用webpack+babel来"编译"你的JS代码

Babel是一个广泛使用的转码器,可以将ES6代码转为ES5,从而在现有的环境中执行。 这是一个开端,以后遇到问题,也会持续记录。 一、babel配置 官网有更详细的配置教程:https://www.babeljs.cn/docs/setup/#installation 我选择的是尝试CLI 1、新建一个文件夹做为项目文件夹,打开cmd,进入项目文件夹下,执行npm init(相关信息可...

weixin_30628801的博客 218

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

webpack使用Babel转换JavaScript代码

什么是Babel Babel是一个JavaScript的编译器,我们在webpack中可以使用ES6以上版本的语法写代码,但是目前主流的浏览器仅支持ES5语法,通过Babel可以将ES6+语法自动转换成ES5语法,来适配浏览器的JavaScript解释器。 比如说,我们使用ES6语法中的箭头函数实现代码: (val) => (val + 1) ; 使用Babel转化成ES5语法后: function(val){ return val+1 ; } babel-cli命令行工具的使用 在项目中安装b

lc_web的博客 509

【Webpack】处理 js 资源(eslint、babel)

Webpack 对 js 处理是有限的,只能编译 js 中 ES 模块化语法,不能编译其他语法,导致 js 不能在 IE 等浏览器运行,所以我们希望做一些兼容性处理。其次开发中,团队对代码格式是有严格要求的,我们不能由肉眼去检测代码格式,需要使用专业的工具来检测。我们先完成 Eslint,检测代码格式无误后,在由 Babel 做代码兼容性处理。

小秀的博客 1733

Babel编译与Webpack

Webpack 是一个现代化的静态模块打包器(module bundler),它能够将多个前端资源(如 JavaScript、CSS、图片等)打包成一个或多个静态资源文件,以优化应用程序的性能。Webpack 的一些重要特点和功能:模块化开发:Webpack 支持使用模块化来组织代码。你可以使用类似于 ES6 import/export 语法的方式导入和导出模块,使代码更具可维护性和可复用性。打包编译:Webpack 将应用程序的所有依赖项视为模块,并通过解析这些依赖项的关系图来构建一个依赖图。

明哥 1109

webpack入门学习笔记06 —— 使用babel打包编译js文件

1. 写在前面 在前端项目中,占主导地位的文件,我想应该是 .js 文件。随着 JS语言 的不断升级改进,越来越多的高级语法被加入到该语言中,比如我们熟知的 ES6语法、ES7语法 等。 虽然 ES6语法、ES7语法 我们写起来感觉非常方便,但是目前市面上的浏览器却不认识这些语法,这就导致我们辛辛苦苦做出来的项目却不能运行,让人很抓狂。这个时候我们要怎么办呢? 办法肯定是有的,我们可以借助web...

fengzhen8023 1333

在webpack配置babel转换es6,兼容ie11,在webpack中使用babel-preset,babel-polyfill

首先安装babel-loader和babel核心库: npm install --save-dev babel-loader @babel/core 然后在webpack.config.js中modules中配置babel module: { rules: [ { test: /\.js$/, exclude: /node_modules/...

MFWSCQ的博客 1万+

babel在webpack 中使用和配置

babel webpack babel 7.4 @babel/core babel-core core-js @babel/plugin-transform-runtime @babel/preset-env babel-loader @babel/runtime-corejs3 在vue中使用babel

星环 5897

webpack-babel的使用,编译es6,es7,高级语法

babel是什么? 官方解释 Babel 是一个 JavaScript 编译器 Babel 是一个工具链,主要用于在旧的浏览器或环境中将 ECMAScript 2015+ 代码转换为向后兼容版本的 JavaScript 代码 小栗子: class Person { static info = {name: 'zs', age: '18'} } let p1 = new Person...

Chad97的博客 2312

webpack5.x 配合babel编译打包发布es5的代码

webpack5默认webpack命令,编译打包的代码为箭头函数, 如图: 按照webpack5特性里面的教程,output添加了 ecmaVersion: 5 无效果 output: { ecmaVersion: 5 , path: path.resolve(__dirname,'public'), filename: "bundle.js" }, 只需要新增 target: ['web', 'es5'], 编译后即为es5代码.

4772

Webpack之Babel的运行过程和使用

Babel是一个,它是独立的,可以在webpack外使用。Babel和Webpack各自负责不同的任务,它们可以可以协同工作来优化和构建现代JavaScript应用。Babel 是一个工具链,主要用于将采用 ECMAScript 2015+ 语法编写的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。

jydchudq的博客 1175

深入浅出 Babel:现代 JavaScript 的编译器

Babel 是一个 JavaScript 编译器,主要用于将现代 JavaScript 代码(ES6+)转换为向后兼容的 JavaScript 代码,以便在旧版本的浏览器或环境中运行。Babel 还支持转换 JSX 语法(用于 React)和 TypeScript。// Babel 接收到的输入是: ES2015 箭头函数// Babel 输出: ES5 语法实现的同等功能});为什么需要 Babel?向后兼容性。

NolanKy 的 技术博客 2091
上一篇: 入门篇:利用Babel来转化你的ES2015脚本初步
下一篇: 使用webpack+babel来"编译"你的JS代码(下)
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值