簡體   English   中英

在Webpack / React應用程序中使用Promise

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM