I am using webpack-simple template with following configurations:
package.json
{ "name": "vue-wp-simple", "description": "A Vue.js project", "version": "1.0.0", "author": "v", "private": true, "scripts": { "dev": "webpack-dev-server --inline --hot", "build": "cross-env NODE_ENV=production webpack --progress --hide-modules" }, "dependencies": { "vue": "^2.3.3", "vue-router": "^2.7.0", }, "devDependencies": { "babel-core": "^6.0.0", "babel-loader": "^6.0.0", "babel-preset-env": "^1.5.1", "babel-preset-es2015": "^6.24.1", "babel-preset-stage-2": "^6.24.1", "cross-env": "^3.0.0", "css-loader": "^0.25.0", "file-loader": "^0.9.0", "style-loader": "^0.18.2", "stylus": "^0.54.5", "stylus-loader": "^3.0.1", "vue-loader": "^12.1.0", "vue-template-compiler": "^2.3.3", "webpack": "^2.6.1", "webpack-dev-server": "^2.4.5" } }
.babelrc
{ "presets": [ ["env", { "modules": false }], ] }
below is how I use async/await in my component
async mounted(){ //this.$store.dispatch('loadImg', this.details.imgUrl).then((img) => { //this.drawImage(img); //}); var result = await this.loadImg(); console.log(result); }, methods:{ async loadImg(){ return new Promise((resolve, reject) => { setTimeout(() => { resolve('yeah async await works!'); }, 2000); }); }, }
But when I run the app I get the error: ReferenceError: regeneratorRuntime is not defined and even the component is not being displayed
In order to use await/async you will need to install a couple of Babel dependencies. This works with Vuejs project -
npm install --save-dev babel-polyfill npm install --save-dev babel-plugin-transform-regenerator
Once installed, you will need to modify your .babelrc file to use the plugin as follows -
{ "plugins": ["transform-regenerator"] }
and also your webpack.config.js file to use the regenerator as follows -
require("babel-polyfill"); module.exports = { entry: ["babel-polyfill", "./app.js"] };
Make the necessary changes according to your project structure and filename etc.
To use async & await, you should add 2 plugins to your babel config: https://babeljs.io/docs/plugins/transform-async-to-generator/ and https://babeljs.io/docs/plugins/syntax-async-functions/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With