Webpackを使用してTypescript(v2.4.2)でコンパイルを行っています。すべてがうまくコンパイルされますが、IE11でコードを実行すると、次のエラーが表示されます。 'Promise'は定義されていません。ここでIE11のTypescriptと約束
は私のTSconfigです:
{
"compilerOptions": {
"outDir": "./wwwroot/js",
"sourceMap": true,
"allowJs": true,
"lib": [
"dom",
"es5",
"scripthost",
"es2015.iterable"
],
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"skipDefaultLibCheck": true,
"types": [ "es6-promise" ]
},
"include": [
"./Ts/**/*"
]
}
ここに私のWebPACKの設定です:
const path = require('path');
const webpack = require('webpack');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports = {
entry: {
main: "./Ts/main.ts"
},
output: {
filename: "[name].js",
path: path.resolve(__dirname, "wwwroot/js")
},
devtool: "source-map",
resolve: {
extensions: [".ts", ".js"]
},
module: {
rules: [
{ test: /\.ts?$/, loader: "awesome-typescript-loader" },
{ enforce: "pre", test: /\.js$/, loader: "source-map-loader" }
]
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: Infinity
})
]
};
私はポリフィルのいくつかの並べ替えが必要であることを理解し、私はそれを実現するために何かかどうかはわかりません。私がこれまで見てきたことは、PromiseやWhatwg-Fetchのような特定のポリフィルを示唆していますが、それらを追加するたびにコンパイルエラーが発生します。
OPは、別のPromiseライブラリの代わりにpolyfillを使用することもできます。https://stackoverflow.com/questions/32408306/how-to-use-es6-promises-with-typescript – mdziekon