首页 > 解决方案 > 未捕获的语法错误:使用 babel 编译后无法在模块外部使用 import 语句

问题描述

目前我正在用 laravel 5.8 编写一个聊天应用程序。当我使用 babel 运行 yarn run prod 时,出现错误:

Uncaught SyntaxError: Cannot use import statement outside a module

在我的 webpack.mix.js 我有这行代码:

 mix.js('resources/assets/js/app.js', 'public/js').babel('public/js/app.js', 'public/js/app.js');

我的代码中的问题是我需要一个异步映射回调函数,因为我在其中执行了 ajax 调用。

Promise.all(Object.values(this.contacts).map(async (contact) => {
    await contact.links.user.resolve().then((User) => {
        this.users.push(User);
    });
    return this.users;
})).then(function(Users){ ... });

如果我在没有 babel 的情况下运行 yarn run prod 一切正常。

 mix.js('resources/assets/js/app.js', 'public/js');

我已经尝试更新我的 babel,使用不同的 babel 插件,使用 forEach 而不是 map

标签: javascriptlaravelbabeljslaravel-mix

解决方案


推荐阅读