2016-09-25 103 views
0

我想使用的WebPack使用无极的反应,应用程序,但我有这样的错误:用法/反应应用

'Promise' is not defined no-undef

到目前为止,一切都运行良好(使用巴贝尔翻译js和jsx),但不幸的是Promise不起作用。

此外,我有铬(最新)这个错误,我虽然承诺buildin功能....我是吗?

这是我使用的一个配置(我使用survivejs看板应用作为启动器,我尝试添加一些功能)。我并没有太大变化的初始配置:

从网络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) 
    }) 
} 

有效答案在评论中

+0

我们可以看到你所说的承诺的代码添加? – EQuimper

+0

为了得到承诺,你应该做的例子'const promise = new Promise((resolve resolve)=> {你的东西在这里})' – EQuimper

+0

添加失败的代码。看起来很接近你的建议。我也尝试过一个功能,也没有工作。 – vespasien

回答

0

据我所知,您需要在您的webpack配置中包含一个Promise polyfill。我使用:

plugins: [ 
    new webpack.ProvidePlugin({ 
     'Promise': 'exports?global.Promise!es6-promise' 
    }) 
], 

凡ES6-承诺是NPM包,这将是包括在没有承诺提供或通过任何其他NPM包