You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置ESLint规则限制引入完整AWS SDK(适配require语句)

解决ESLint限制完整AWS SDK引入的问题

你遇到的问题是因为no-restricted-imports规则只针对ES模块的import语句生效,对CommonJS的require调用不起作用。要同时限制两种引入方式,应该用ESLint的no-restricted-modules规则。

配置步骤

在你的ESLint配置文件(比如.eslintrc.js或.eslintrc.json)中添加以下规则:

{
  "rules": {
    "no-restricted-modules": [
      "error",
      {
        "name": "aws-sdk",
        "message": "请勿引入完整AWS SDK,请直接引入对应客户端模块,例如:require('aws-sdk/clients/cognitoidentityserviceprovider')"
      }
    ]
  }
}

效果验证

  • 当有人写出这样的代码时:

    const AWS = require('aws-sdk'); // 触发ESLint错误
    import AWS from 'aws-sdk'; // 同样触发ESLint错误
    

    ESLint会直接抛出错误,并显示你自定义的提示信息,引导开发者改用正确的引入方式。

  • 正确的引入方式不会触发错误:

    const CognitoIdentityServiceProvider = require('aws-sdk/clients/cognitoidentityserviceprovider');
    import CognitoIdentityServiceProvider from 'aws-sdk/clients/cognitoidentityserviceprovider';
    

特殊情况处理

如果确实有场景需要引入完整SDK,可以在代码块上方添加ESLint禁用注释:

// eslint-disable-next-line no-restricted-modules
const AWS = require('aws-sdk');

内容的提问来源于stack exchange,提问作者Fajotom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 01:25:25