Babel 编译 ES6 模块时出现 “unexpected token import” 错误的解决方法

阅读时长 3 分钟读完

在使用 Babel 编译 ES6 模块时,有时会出现 “unexpected token import” 错误,这是因为 Babel 在编译过程中无法处理 ES6 的模块语法。这个问题的解决方法主要有两种,下面简单介绍一下。

解决方法一:使用 Babel 编译器

Babel 是一个 JavaScript 编译器,它可以将 ES6 或者更新版本的 JavaScript 代码转换为浏览器可以识别和运行的 JavaScript 代码。如果想要在项目中使用 ES6 的模块语法,我们可以使用 Babel 编译器来转换代码。

首先,我们需要安装 Babel 编译器。可以通过 npm 安装:

然后,配置 .babelrc 文件,指定使用 @babel/preset-env 这个预设进行编译:

最后,命令行执行 Babel 编译:

这样,我们的 ES6 模块语法就可以被 Babel 编译器正确地转换成浏览器可以识别的代码了。

解决方法二:使用 Webpack 打包器

如果我们使用了 Webpack 打包器,也可以通过 Webpack 的 babel-loader 模块来处理 ES6 的模块语法。

首先,安装 babel-loader:

然后,配置 Webpack 的 module.rules

-- -------------------- ---- -------
-------------- - -
  ------- -
    ------ -
      -
        ----- --------
        -------- ---------------
        ---- -
          ------- ---------------
          -------- -
            -------- ---------------------
          -
        -
      -
    -
  -
-

这样,Webpack 就可以正确地处理我们的 ES6 模块语法了。

示例代码

下面是一段使用 ES6 的模块语法并通过 Babel 编译的示例代码:

math.js 模块中的代码:

通过 Babel 编译后的代码:

总结

本文介绍了在使用 Babel 编译 ES6 模块时出现 “unexpected token import” 错误的解决方法,分别是使用 Babel 编译器和使用 Webpack 打包器。在实际开发中,我们可以根据具体的项目情况选择合适的解决方法,让我们的代码更加规范和易于维护。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6656de26d3423812e4bddab6

纠错
反馈