我想在我的反應應用程序中使用承諾獲取數據。我安裝並實現了這個polyfill es6-promise,但在IE8窗口8上工作,但是IE10窗口7說'promise is undefined'。我認爲polyfill是爲了覆蓋所有的IE9 +,但它不適合我。有沒有人遇到過這個問題?我在使用webpack實現es6-promise polyfill時錯過了什麼?如何獲得承諾,在IE10中作出反應
// calling it my jsx file
import React, { PropTypes } from 'react';
import es6promise from 'es6-promise'; // not sure if I need this in the jsx file also??
promise.polyfill();
import 'isomorphic-fetch';
class App extends React.Component {
...
}
App.propTypes = propTypes;
export default App;
webpack.config.js
var promise = require('es6-promise').polyfill();
switch (TARGET) {
case 'build':
module.exports = mergeConfig({
plugins: [
// Reference: http://webpack.github.io/docs/list-of-plugins.html#uglifyjsplugin
// Minify all javascript. Loaders are switched into minimizing mode
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
}),
new webpack.DefinePlugin({
'process.env': {
// This has effect on the react lib size
'NODE_ENV': JSON.stringify('production')
}
}),
new webpack.ProvidePlugin({
PROMISE: promise
})
]
});
break;
如果您將'es6-promise'導入爲'es6promise',您不應該使用'es6promise.polyfill'嗎? –
好吧,是否意味着如果我在webpack中需要它,我不應該將它導入到我的jsx中? 已經從jsx頁面中刪除導入我正在提取數據但出錯。我真的很想知道一個標準爲什麼使用webpack使用polyfill,所以它修復了IE10 – NiseNise