javascript – ES7异步等待函数与babel-loader无法正常工作
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – ES7异步等待函数与babel-loader无法正常工作,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2489字,纯文字阅读大概需要4分钟。
内容图文
![javascript – ES7异步等待函数与babel-loader无法正常工作](/upload/InfoBanner/zyjiaocheng/788/b23b91b0859b4e8598474a489e010b91.jpg)
我正在尝试使用webpack的babel-loader在JavaScript中运行异步等待函数.我正在使用以下配置:
{
name: 'client',
context: path.join(__dirname, 'src', 'static', 'scripts'),
entry: {
index: './index.js'
},
output: {
path: path.join(__dirname, 'src', 'static', 'bundles'),
filename: '[name].js'
},
module: {
loaders: [
{
test: /\.js$/,
loader: 'babel',
query: {
presets: ['es2015', 'stage-0']
}
}
]
},
resolve: {
root: path.join(__dirname),
fallback: path.join(__dirname, 'node_modules'),
modulesDirectories: ['node_modules'],
}
}
但它不断推出错误,并显示以下消息:
Module build failed: Error: ./src/static/scripts/index.js: Expected type “Identifier” with option {}
我的index.js有这样的内容:
console.log('hi from app');
async function hello() {
return Promise.resolve('hi')
}
async function conversation () {
const hi = await hello()
console.log(hi);
}
解决方法:
看起来你打了bug.它似乎已经解决但尚未发布.
如果您不能等到它被释放,您可以应用与解决问题的commit相对应的补丁.
应用补丁的一种方法:
将以下差异保存到包根文件夹中的文件(例如,visit.patch)中.然后使用git apply visit.patch应用补丁.
From 940b86dadbd0151c33c02e89f0b5ff61077c9214 Mon Sep 17 00:00:00 2001
From: Henry Zhu <hi@henryzoo.com>
Date: Thu, 5 Nov 2015 20:10:15 -0500
Subject: [PATCH] transform-regenerator: set node.id to an identifier if null -
fixes #2835
---
packages/babel-plugin-transform-regenerator/lib/visit.js | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/node_modules/babel-preset-es2015/node_modules/babel-plugin-transform-regenerator/lib/visit.js b/node_modules/babel-preset-es2015/node_modules/babel-plugin-transform-regenerator/lib/visit.js
index 0f68ffc..c4a0d2e 100644
--- a/node_modules/babel-preset-es2015/node_modules/babel-plugin-transform-regenerator/lib/visit.js
+++ b/node_modules/babel-preset-es2015/node_modules/babel-plugin-transform-regenerator/lib/visit.js
@@ -146,6 +146,10 @@ function getOuterFnExpr(funPath) {
var node = funPath.node;
t.assertFunction(node);
+ if (!node.id) {
+ node.id = funPath.scope.parent.generateUidIdentifier("callee");
+ }
+
if (node.generator && // Non-generator functions don't need to be marked.
t.isFunctionDeclaration(node)) {
var pp = funPath.findParent(function (path) {
@@ -171,9 +175,7 @@ function getOuterFnExpr(funPath) {
);
}
- return node.id || (
- node.id = funPath.scope.parent.generateUidIdentifier("callee")
- );
+ return node.id;
}
function getRuntimeMarkDecl(blockPath) {
更新:
似乎bug wasn’t properly fixed和提交已经是reverted.看起来这是由于此pull request中已解决的另一个问题.
内容总结
以上是互联网集市为您收集整理的javascript – ES7异步等待函数与babel-loader无法正常工作全部内容,希望文章能够帮你解决javascript – ES7异步等待函数与babel-loader无法正常工作所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。