【问题标题】:Conditional Import external package with ESLint使用 ESLint 条件导入外部包
【发布时间】:2020-10-17 07:02:10
【问题描述】:

我正在尝试导入一个包并在我的 Vue 应用程序中使用它,如下所示

import ExternalSamplePackage from 'external-sample-package'

export default {
 directives: {
  ExternalSamplePackage
 }
}

我处于SSR模式,所以我想有条件地像这样导入包:

if(process.client) {
 import ExternalSamplePackage from 'external-sample-package'
}

但是,我的 es-lint 出现以下错误:

> error  Parsing error: 'import' and 'export' may only appear at the top level

如何使用正确的 es-linting 规则导入?

【问题讨论】:

    标签: javascript vue.js nuxt.js eslint


    【解决方案1】:

    ES6 模块是静态的。这意味着导入/导出不能出现在函数、条件语句中或包含变量。导入/导出语句被设计为可静态分析,因此如果您有条件地想要导入某些内容,则需要运行逻辑,因此如果不运行应用程序就无法解析。

    更多信息https://exploringjs.com/es6/ch_modules.html#static-module-structure

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-29
      • 2016-11-27
      • 2021-12-15
      • 2012-02-27
      • 2021-08-13
      • 2021-06-20
      相关资源
      最近更新 更多