我使用的是VueJS Webpack模板,可在此处找到:https://github.com/vuejs-templates/webpack
- 路线示例:*
const AuthRoute = () => import(/* webpackChunkName: "authroute" */ './AuthRoute.vue')
- 示例错误:*
[eslint]解析错误:意外的令牌导入
我已经按照Webpack的Dynamic import一节中提供的步骤,以及Anthony戈尔关于如何在路由器级别使用VueJS完成代码拆分的博客文章进行了操作。
- 包.json*
...
"babel-core": "^6.22.1",
"babel-eslint": "^8.0.3",
"babel-jest": "^21.2.0",
"babel-loader": "^7.1.1",
"babel-plugin-dynamic-import-webpack": "^1.0.2",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-preset-env": "^1.3.2",
"babel-preset-stage-2": "^6.24.1",
"eslint": "^4.13.1"
...
- .babelrc*
{
"presets": [
["env", {
"modules": false
}],
"stage-2"
],
"plugins": [
"dynamic-import-webpack",
"syntax-dynamic-import",
"transform-runtime"
],
"env": {
"test": {
"presets": ["env", "stage-2"] }
}
}
- .eslintrc.js*
parserOptions: {
parser: 'babel-eslint',
sourceType: 'module',
allowImportExportEverywhere: true
}
我有点不明白为什么我仍然看到这个错误。当使用npm run dev
和npm run build
时,我的代码可以按预期运行和工作,但是这个解析错误阻止了文件的其余部分被lint,我无法抑制它。
任何/所有的帮助都是感激不尽的!
3条答案
按热度按时间k3fezbri1#
应该是:
来源:https://eslint.org/docs/user-guide/configuring#specifying-parser
使用(@vue/cli).eslintrc.json
68bkxrlz2#
这个StackOverflow问题和答案确实帮助我解决了这个问题,但目前在2020年4月,
parser
密钥似乎在parserOptions
内部是必需的,或者至少对于我的设置组合来说是必需的。我将显示我当前的配置,我使用的Laravel 7/Laravel混合和Vue 2.6~。
.eslintrc.json
如果使用Webpack别名,则只需要
settings
密钥。软件包.json
.babelrc
网页包.配置.js
如果您“正常”使用Webpack而不使用Laravel Mix,您会发现此处的语法略有不同,但如果您使用Webpack别名,您会发现以下内容很有用:
最后一点:我总是建议使用
airbnb-base
config,并依靠它来形成您的lint规则的基础,因为它是为多开发人员环境创建的,这些环境运行着顽固的函数式编程技术,用于不可变的单向数据流--因此,函数式React编程同时避免JavaScript的陷阱......并将重点放在声明性代码上,同时避免相当糟糕的命令式代码。我在一篇关于为Airbnb在Vue中设置ES Lint的文章中又写了几句话:https://medium.com/@agm1984/how-to-set-up-es-lint-for-airbnb-vue-js-and-vs-code-a5ef5ac671e8
vltsax253#
把下面的代码放到
.eslintrc
中。它需要解析器选项;默认情况下为2013: