Предустановленные этапы Babel - PullRequest
0 голосов
/ 09 июля 2019

Я читал о предварительных настройках сцены в документах Babel, и я не могу понять, как , когда и , почему использовать предварительные настройки стадии, такие как stage-2 и stage-3.

У меня есть следующая конфигурация в package.json:

"devDependencies": {
    "babel-cli": "^6.26.0",
    "babel-loader": "7.0.0",
    "babel-preset-env": "^1.7.0",
    "babel-preset-stage-2": "^6.24.1",
    "html-webpack-plugin": "^3.2.0",
    "strip-loader": "^0.1.2",
    "webpack": "4.29.6",
    "webpack-bundle-analyzer": "3.1.0",
    "webpack-cli": "3.3.0",
    "webpack-dev-server": "3.2.1"
  },
  "babel": {
    "presets": [
      "env",
      "stage-2"
    ]
}

Конфигурация Webpack:

module.exports = {
  entry: ["babel-polyfill", "./src/index"],
  output: {
    filename: "bundle.js"
  },
  plugins: [
    //Injects the bundle.js into the html
    new HtmlWebpackPlugin({
      template: "src/index.html"
    })
  ],
  module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        use: ["babel-loader"]
      }
    ]
  }
};

Индекс

let var1 = () => {
  return 4;
};

function resolveAfter2Seconds(x) {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(x);
    }, 2000);
  });
}

async function f1() {
  var x = await resolveAfter2Seconds(10);
  console.log(x); // 10
}

f1();

Использование stage-2 или нет не имеет никакого значения. Процесс синтаксического анализа выполняется хорошо.

...