王海鱼 发表于 2025-1-6 05:06:34

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;
                //此处也可用@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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: vuepress 项目支持ie运行