async/chờ đợi với Laravel Mix:
Nếu bạn sử dụng Laravel Mix của Box và sử dụng async và đang chờ đón bạn nhận được thông báo lỗi sau:
Uncaught ReferenceError: regeneratorRuntime is not defined
Nhưng Laravel Mix sử dụng Babel để hỗ trợ ES2015. Chúng tôi có thể tùy chỉnh trình biên dịch nếu cần.
Để có được async/chờ đợi làm việc, thêm các tập tin .babelrc
vào thư mục gốc của bạn với nội dung này:
{
"presets": ["es2015", "stage-3"],
"plugins": [
"transform-runtime"
]
}
Và cài đặt các gói NPM cần thiết:
npm install babel-preset-es2015 babel-preset-stage-3 babel-plugin-transform-runtime --save-dev
Điều quan trọng (trong đó gây ra lỗi) là plugin chuyển đổi thời gian chạy. Nó không được đóng gói với Laravel Mix, nhưng bạn cần nó để có được tính năng async/await hoạt động.
ES8:
Như bạn đã thấy ở trên, bạn có thể sử dụng các giai đoạn khác nhau trong cài sẵn Babel. Với chúng, bạn có thể sử dụng các tính năng được bao gồm trong ES8 hoặc mới hơn. Ví dụ: stage-3 mang đến tính năng không đồng bộ/đang chờ.
Họ có một số overview of the stages trên trang web của họ.
Nguồn
2017-09-09 19:08:12
Laravel Mix sử dụng babel dưới mui xe, nếu các plugin chính xác được thêm vào babel, cú pháp không đồng bộ/chờ đợi được hỗ trợ. Tôi hiện đang điều tra làm thế nào để làm điều này, tôi sẽ cho bạn biết. – Cobolt
@Cobolt tuyệt vời, mọi trợ giúp sẽ được đánh giá cao. Vui mừng khi biết cuộc điều tra của bạn diễn ra như thế nào, tôi bị bối rối vì tôi không biết bắt đầu từ đâu, tôi đã google rất nhiều nhưng vô ích. – jcsoriano