webpack babel es7 error de función asincrónica "TypeError: (0, _typeof3.default) no es una función"
Estoy tratando de requerir en api.js, pero recibir el error "TypeError: (0, _typeof3.default) no es una función". Intentar depurar este problema muestra que al eliminar la palabra "asíncrona" desaparece el error, pero estoy tratando de usarla. Tengo todos los complementos asíncronos de babel instalados, definidos en package.json e incluidos en los complementos de webpack.config.js y .babelrc. Por favor ayuda.
my api.js
let config = require('config'),
$ = require('jquery')
module.exports = {
loggedIn: false,
api: async (endpoint, params={}, method="GET") => {
console.log(endpoint, params, method)
let request,
url = config.urls.api + endpoint
switch(method){
case 'GET': request = $.get(url); break;
case 'POST': request = $.post(url); break;
}
try{
let res = await request
return res
}catch(e){
if(e == 'not logged-in'){
this.loggedIn = false
}
}
}
}
package.json
{
"name": "background",
"version": "1.0.0",
"description": "",
"main": "background.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "NODE_ENV=dev webpack --progress --colos --watch"
},
"author": "",
"license": "ISC",
"devDependencies": {
"babel-core": "^6.2.1",
"babel-loader": "^6.2.0",
"webpack": "^1.12.9",
"babel-plugin-syntax-async-functions": "^6.0.14",
"babel-plugin-syntax-decorators": "^6.1.18"
},
"dependencies": {
"babel-plugin-transform-runtime": "^6.1.18",
"babel-polyfill": "^6.2.0",
"babel-preset-es2015": "^6.1.18",
"babel-preset-stage-3": "^6.1.18",
"babel-runtime": "^6.2.0",
"jquery": "^2.1.4"
}
}
.babelrc
{
"plugins": ["syntax-decorators","syntax-async-functions"]
}
webpack.config.js
const path = require('path')
console.log(process.env.NODE_ENV)
module.exports = {
entry: ['babel-polyfill', './background.js'],
output: {
filename: 'background-bundle.js',
publicPath: 'http://localhost:8090/assets',
path: '../dist'
},
module: {
loaders: [
{
loader: 'babel-loader',
test: /.jsx?$/,
exclude: path.resolve(__dirname, "node_modules"),
query: {
plugins: ['transform-runtime','syntax-async-functions', 'syntax-decorators'],
presets: ['es2015','stage-3']
}
}
]
},
externals: {
//don't bundle the 'react' npm package with our bundle.js
//but get it from a global 'React' variable
// 'react': 'React'
},
resolve: {
extensions: ['', '.js', '.jsx'],
alias: {
config: path.join(__dirname, 'config', process.env.NODE_ENV)
}
}
}