gpt4 book ai didi

javascript - IE 11(Webpack、VueJS)上可能出现传播错误?

转载 作者:行者123 更新时间:2023-12-01 01:30:10 25 4
gpt4 key购买 nike

我在 IE 11 上遇到此错误:

enter image description here enter image description here

这是我的 webpack 和 babel 配置:

webpack配置

const path = require('path');
const webpack = require('webpack');
const { VueLoaderPlugin } = require('vue-loader');
const StylishWebpackPlugin = require('webpack-stylish');
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');

const withLogRocket = process.argv.includes('--with-logrocket');
if (withLogRocket) {
/* eslint-disable no-console */
console.info('-> Building with LogRocket enabled.');
/* eslint-enable */
}

// Base webpack configuration for all environments.
module.exports = {
context: path.dirname(__dirname),
entry: {
app: './src/main.js',
},
target: 'web',

output: {
filename: '[name].[contenthash].js',
hashDigestLength: 8,
},

resolve: {
extensions: ['.ts', '.js', '.vue'],
alias: {
'@': path.resolve(__dirname, '../src'),
},
},

module: {
rules: [
{
test: /\.js/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
},
},
{
test: /\.ts$/,
exclude: /node_modules/,
use: [
{
loader: 'babel-loader',
},
{
loader: 'ts-loader',
options: {
transpileOnly: true,
},
},
],
},
{
test: /\.vue$/,
loader: 'vue-loader',
},
{
test: /\.css$/,
use: [
'style-loader',
'css-loader',
],
},
{
test: /\.scss$/,
use: [
'style-loader',
'css-loader',
'sass-loader',
],
},
],
},

stats: 'errors-only',

plugins: [
new VueLoaderPlugin(),
new ForkTsCheckerWebpackPlugin({
tslint: true,
reportFiles: ['src/**/*.ts'],
}),
new StylishWebpackPlugin(),
new webpack.DefinePlugin({
USE_LOGROCKET: withLogRocket,
}),
],
};

babelrc 文件

{
"presets": ["env"],
"plugins": [
"transform-es2015-destructuring",
"transform-object-rest-spread"
]
}

我不太确定这是否是由于 ...sources传播或其他。我很确定我有babel-transform-object-rest-spread包但我仍然不明白为什么会出现此错误,我还使用了 babel-preset-env 。正如您在配置中看到的,我正在运行一个纯 JS(VueJS、Typescript)应用程序。我读过很多关于使用 polyfill 等的文章,但它并没有帮助我让我们的应用程序在 IE11 上运行。

最佳答案

您正在使用 env 预设,但从未定义 Babel 应该为其生成代码的环境(因此我假设在这种情况下不支持 IE 11)。

Without any configuration options, babel-preset-env behaves exactly the same as babel-preset-latest (or babel-preset-es2015, babel-preset-es2016, and babel-preset-es2017 together).

因此,只需添加将 targets 属性设置为类似内容的选项对象

"browsers": [ "last 1 version", "ie >= 11" ]

像这样:

{
"presets": ["env", {
"targets": {
"browsers": [ "last 1 version", "ie >= 11" ]
}
}],
"plugins": [
"transform-es2015-destructuring",
"transform-object-rest-spread"
]
}

我还强烈建议您尽快切换到 Babel 7。

关于javascript - IE 11(Webpack、VueJS)上可能出现传播错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53357464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com