尝试将我的“aws-amplify”包导入我的入口点时收到 JSLint 错误

Posted

技术标签:

【中文标题】尝试将我的“aws-amplify”包导入我的入口点时收到 JSLint 错误【英文标题】:Receiving a JSLint error from trying to import my 'aws-amplify' package into my entry point 【发布时间】:2021-03-14 17:12:12 【问题描述】:

最新版本的 aws-amplify 是使用 npm 安装的。此外,npm init 是在入口点文件为“entryPoint.js”的情况下运行的。但是,当我输入 entryPoint.js 并将这些代码行粘贴到顶部时

import Amplify, Auth from 'aws-amplify';
import awsconfig from './aws-exports';
Amplify.configure(awsconfig);

我收到一个 JSLint 错误,内容如下:

Expected an identifier and instead saw 'import'.

如何正确导入 aws-amplify?我按照https://docs.amplify.aws/lib/auth/getting-started/q/platform/js#option-1-use-pre-built-ui-components的说明进行操作

【问题讨论】:

【参考方案1】:

所以 JSLint 对整个 import 游戏和 instructions themselves say this about import 来说有点新:

JSLint 识别模块语法的一个小而重要的子集。

很长一段时间,JSLint (iirc) 根本不支持import,然后有一段时间可能只支持es6 jslint 指令,但这是凭记忆的。我很高兴看到它支持的功能和现在一样多。

看起来“小而重要的子集”不支持的默认 import 与 named import 在同一行。

但它确实接受像这样将导入分成两行:

import Auth from "aws-amplify";
import Amplify from "aws-amplify";
import awsconfig from "./aws-exports";
Amplify.configure(awsconfig);

// you didn't use Auth, so let's use it here in a 
// way that stops JSLint from complaining.
var myAuth = new Auth("something");
myAuth.something(1);

JSLint 在使代码易于扫描和阅读方面非常重要。也许您的想法是您不希望这两种类型在同一行 b/c 上,也许您会将Amplify 读作命名导入?在这种情况下我不知道具体情况。

但是 JSLint 是一个很好的工具,可以帮助确保高质量的 javascript 代码。如果你能克服它的特性,比如这个,它会长期回报你,尽管许多人会建议你应该考虑使用“现代”JavaScript 代码 eslint。它的可配置性更高一些,这本身就是一把双刃剑。

【讨论】:

嗨!谢谢你的建议。我拆分了代码中的行,这个问题似乎解决了,或者至少不是致命的。我现在遇到的一个问题是无法解析模块说明符;他们似乎想要括号中的任何内容以“/”或“./”或“../”开头。这不在演练中,所以我很谨慎地改变它,你知道可能是什么原因造成的吗? @joiep 如果将导入作为书面形式与 JSLint 一起使用,那可能是一个新问题。代码是什么?他们是谁”? ;^D JSLint 在抱怨吗?我认为不应该;我在 jslint.com 上的 lints 上面有什么。这是npm 的问题吗?也就是说,你怎么能确定这些库是在上下文中的?等等。但这可能是一个新问题,除非它是 JSLint 问题,否则需要一个好的 plunkr 才能真正诊断。

以上是关于尝试将我的“aws-amplify”包导入我的入口点时收到 JSLint 错误的主要内容,如果未能解决你的问题,请参考以下文章

将 firebase 分析设置导入另一个包

使用 Pyinstaller 时找不到隐藏的导入 Tensorflow 包

为啥我的 AWS-Amplify 注册请求不包含某些参数?

AWS Amplify 错误从 aws-amplify 导入 StorageProvider 类

如何在我的 Vuejs 项目中迁移 aws-amplify 以使用 Typescript?

如何使用 aws-amplify 处理 api 错误?