当前位置: 首页 > article >正文

vuepress 项目支持ie运行

支持ie,就是js语法转换问题(es6 => es5),需要babel-loader, 所以需要修改webpack配置

在config.js里添加配置:

configureWebpack: (config, isServer) => {
	if(!isServer) {
		config.module.rules.push({
			test: /\.js$/,
			loader: 'babel-loader',
			options: {
				presets: ['@babel/preset-env']
			}
		});
		//添加polyfill
		const file = config.entry.app[0];
		//此处也可用@babel/polyfill (应该会稍微新一点,支持的语法多点,因为体积好像大点)
		config.entry.app = ['babel-polyfill', file]
	}
}

然后把用到的插件安装一下:npm i babel-loader '@babel/core' '@babel/preset-env' babel-polyfill -D

通过查资料,发现上边所述配置已经过时了,通过详细配置@babel/preset-env,可以实现按需引入,
大致是这么写:

test: /.js$/i,
exclude: /node_module/,
use: {
    loader: 'babel-loader',
    options: {
        presets: [
            [
                '@babel/preset-env',
                {
                    useBuiltIns: 'usage',
                    corejs: 3
                }
            ]
        ],
    }
}

但是我用到vuepress里报错,看报错大概原因是,exclude: /node_module/, 这个配置,如果用了这个配置,那么依然会有语法没有被转换成功,去掉这个配置,会导致/node_modules/里的代码在转换时报错

具体可参考:https://blog.csdn.net/weixin_50794208/article/details/130830275
https://www.cnblogs.com/lijun12138/p/16163421.html


http://www.kler.cn/a/465061.html

相关文章:

  • 有效字母异位词力扣--242
  • 我的创作之路:从 Python 爱好者到创作者的蜕变
  • 一文大白话讲清楚TCP连接的三次握手和断开连接的四次挥手的原理
  • ESP32-C3环境搭建
  • 【数据仓库】hadoop web UI 增加账号密码认证
  • vim 的基础使用
  • Flutter入门,Flutter基础知识总结。
  • 跨语言数据格式标准化在 HarmonyOS 开发中的实践
  • 详细教程:SQL2008数据库备份与还原全流程!
  • 【SQL server】教材数据库(7)
  • JAVA-制作小游戏期末实训
  • Python PySide + SQLite3 开发的 《️ POS点销管理系统》可用初型
  • Postman[8] 断言
  • edeg插件/扩展推荐:助力生活工作
  • 【视频笔记】基于PyTorch从零构建多模态(视觉)大模型 by Umar Jamil【持续更新】
  • CM3/CM4时钟系统
  • STM32-笔记28-蓝牙模块
  • SQL 总结
  • 125个Docker的常用命令
  • 数据库-MySQL-limit优化(全面 易理解)
  • 小米15震撼发布:手机吊起一人一椅,创新极限测试
  • 基于微信小程序的面部动作检测
  • 百度二面,MySQL 怎么做权重搜索?
  • SQL 中的 EXISTS
  • 开源自荐 - NoteGen 一款专注于记录和写作的跨端 AI 笔记
  • Web3的核心理念:去中心化如何改变互联网结构