[英]Usage of Promise in webpack / react application
我正在嘗試使用webpack在React應用中使用Promise,但是我遇到了這個錯誤:
'Promise' is not defined no-undef
到目前為止,一切都運行良好(使用babel來翻譯js和jsx),但是遺憾的是Promise不能正常工作。
此外,我在Chrome(最新)中遇到此錯誤,盡管Promise是內置功能。...對嗎?
這是我使用的一部分配置(我使用Survival kankan應用程序作為啟動器,我正在嘗試添加一些功能)。 我沒有改變太多初始配置:
從web pack.config.js
module: {
loaders: [
{
test: /\.(js|jsx)$/,
// Enable caching for extra performance
loaders: ['babel?cacheDirectory'],
include: include
}
]
}
從.babelrc
{
"presets": [
"es2015",
"react"
],
"env": {
"start": {
"presets": [
"react-hmre"
]
}
}
}
失敗的代碼:
const locales = {
en: () => require('react-intl?locale=en!./en.json'),
fr: () => require('react-intl?locale=fr!./fr.json')
}
function loadLocaleData (locale) {
return new Promise((resolve) => {
locales[locale]()(resolve)
})
}
有效的答案
據我所知,您需要在Webpack配置中包含Promise polyfill。 我用:
plugins: [
new webpack.ProvidePlugin({
'Promise': 'exports?global.Promise!es6-promise'
})
],
es6-promise是一個npm軟件包,當沒有可用的承諾或任何其他npm軟件包添加了諾言時,將包括該軟件包
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.