如何在使用Aurelia-Webpack插件时包含ES6 Promise?

时间:2017-03-11 07:13:10

标签: webpack aurelia webpack-2 aurelia-webpack

我正在使用Aurelia 1.1和Webpack 2.0插件。这在Chrome中运行良好,但在IE中,没有任何承诺。

所以我收到一条错误消息:

var startPromise = new Promise(function (resolve) {
  return startResolve = resolve;
});

我已经用npm下载了es6 polyfill,但是我不知道如何告诉webpack包含它以便它可以普遍使用。

我应该如何包含这种填充物?

2 个答案:

答案 0 :(得分:1)

ES6应用程序的常见之处是包含polyfill(例如core-js)。这应该在每个应用程序之前尽早完成,在其他库之前:

import 'core-js/es6';

考虑到已使用aurelia-polyfills,可以选择性地包含polyfill,以免与the ones from aurelia-polyfills发生碰撞:

import 'core-js/es6/promise';
import 'core-js/es6/function';
...

答案 1 :(得分:0)

我不知道这是最好的方式,但它对我有用:

在webpack.config.js中:

const webpack = require("webpack");

...

plugins: [
  new webpack.ProvidePlugin({
      Promise: 'es6-promise-promise'
  })

请注意,已安装“es6-promise-promise”lib

有关Plug-ins的更多信息: