Есть ли простой источник для настройки babel / webpack для IE11? - PullRequest
0 голосов
/ 20 февраля 2019

Я ищу помощь в преобразовании es6 в es5 с помощью babel / webpack и выхожу пустым.Если ответ на этот вопрос уже есть, скажите мне.

package.json:

"dependencies": {
  "@babel/polyfill": "^7.0.0",
  "browserslist": "^4.4.1",
  ...
"devDependencies": {
  "@babel/preset-env": "^7.3.1",
  "eslint": "^5.1.0",
  ...

webpack.config.js:

const path = require('path');

const CleanPlugin = require('clean-webpack-plugin');
const ManifestPlugin = require('webpack-manifest-plugin');

module.exports = {
    entry: {
        App: ['@babel/polyfill', './app.js'],
        Library: ['@babel/polyfill', './codegen/library.js'],
        CalculatorPage: ['@babel/polyfill', './calculator-page.js'],
        CalculatorPageExternal: ['@babel/polyfill', './calculator-page-external.js']
    },
    output: {
        path: path.resolve(__dirname, 'static'),
        filename: 'Calc.[name].[chunkhash].js',
        library: [ 'Calc', '[name]' ]
    }

app.js:

require("@babel/polyfill");
...

.babelrc:

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "targets": {
          "browsers": ["IE >= 10"]
        }
      }
    ]
  ]
}

Пока что это ничего не меняет в том, что генерируется при запуске веб-пакета.

Я понимаю, что вопросы, связанные с этим, задавались ранее - но кажется, что каждый ответ настолько специфичен для случая использования этого человека, что мне трудно найти единый источник: «Вот как вы преобразуете esNext в es5"с babel и webpack."

Чего мне не хватает / что нужно сделать, чтобы это действительно генерировало ES5-совместимый код?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Вам необходимо настроить пресет для браузеров, на которые вы также хотите настроить таргетинг.

Используйте следующее:

[
        '@babel/preset-env',
        {
          targets: {
            browsers: ["IE 11"],
          },
        useBuiltIns: 'usage'
        }
]
0 голосов
/ 20 февраля 2019

rules.loaders - это ключ веб-пакета, который вы ищете.

Использование babel-loader и @babel/preset-env (предустановка для заполнения / преобразования всех годовых спецификаций EcmaScript безвам потребуется микроуправление конкретными спецификациями, например ES6), вы сможете достичь этого.

...