如何配置Visual Studio代码以解析AWS Lambda层的输入路径(javascript)

我使用VS Code开发我的AWS托管的无服务器应用程序。 该应用程序使用Lambda。最近,我决定开始使用Lambda图层来提取和重用常见代码。 我遇到的问题是,AWS Lambda希望导入以下Lambda层:

class dropdownForm(forms.ModelForm):
    class Meta:
        model = dropdown
        fields = '__all__'

    def __init__(self,*args,**kwargs):
        super().__init__(*args,**kwargs)

        self.fields['drp2'].queryset = subdrop.objects.none()
        self.fields['drp3'].queryset = lastdrop.objects.none()

        if 'drp1' in self.data:
            try:
                country_id = int(self.data.get('drp1',''))
                self.fields['drp2'].queryset = subdrop.objects.filter(id=country_id).order_by('name')
            except ValueError:
                pass
        elif 'drp2' in self.data:
            try:
                country_id = int(self.data.get('drp2',''))
                self.fields['drp3'].queryset = lastdrop.objects.filter(id=country_id).order_by('name')
            except ValueError:
                pass
        elif self.instance.pk:
            self.fields['drp2'].queryset = self.instance.drp1.city_set.order_by('name')
            self.fields['drp3'].queryset = self.instance.drp2.city_set.order_by('name')

我想获取有关图层导出功能的Intellisense:

const layer = require("/opt/layer");

尽管我同时拥有lambda和lambda图层代码,但是VS Code自然无法解析图层文件的路径,因此Intellisense不起作用。

我发现,如果我将下一个jsconfig.json文件放在我的项目中的任何位置:

module.exports = {
    f1(param1,param2) {
        // ...
    },f2(paramX,paramY,paramZ) {
        // ...
    }
}

require语句不再以红色显示,并且允许一些基本的文本自动完成。但这并不能真正正确显示带有参数的图层导出功能。

我不想创建像在开发过程中使用自定义导入那样的解决方案,然后在部署到AWS时(或至少具有一些自动化的东西)用“ require(“ / opt / layer”)”替换它们。

该怎么办?

asdfghjklqwertyumnb 回答:如何配置Visual Studio代码以解析AWS Lambda层的输入路径(javascript)

最后,位于lambda文件夹中的下一个jsconfig.json文件为我工作(也需要重新启动VS Code):

{
    "compilerOptions": {
        "module": "commonjs","target": "es2015","moduleResolution": "node","baseUrl": ".","paths": {
            "/opt/layer1": ["./layers/layer1"],"/opt/layer2": ["./layers/layer2"],"/opt/layer3": ["./layers/layer3"]
        }
    },"exclude": ["./layers/node_modules"]
}
本文链接:https://www.f2er.com/3160082.html

大家都在问