Parsing error: 'import' and 'export' may only appear at the top level
报错
今天給项目装上 eslint 后出现报错 Parsing error: 'import' and 'export' may only appear at the top level
.
复现
import "lib-flexible/flexible.js";
import userOptions from "@/assets/js/merge";
import { loadFiles } from "@/assets/js/tools";
import env from "@/constants/env";
window.userOptions = userOptions;
const assets = 123;
if (env === "dev") {
import("@/assets/css/blog-common.min.css"); // 这一行import报错
} else {
loadFiles([
{
name: `${userOptions.theme.name}`,
type: "js"
}
]);
}
es6 模块语法是允许这样写的, eslint 却把它当成错误来处理, 如果如上头部的几个 import
写在下面的话的确应该报此错误.
原因
eslint 默认解析器可能不支持动态导入.
解决
使用 babel-eslint 解决.
npm i babel-eslint -D
...
+ parser: "babel-eslint",
parserOptions: {
sourceType: 'module',
}
...
最后附上链接
本文作者:guangzan
本文链接:https://www.cnblogs.com/guangzan/p/12466467.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步