小编sak*_*sak的帖子

错误:找不到模块“index”\n需要堆栈:\n- /var/runtime/index.mjs

我正在尝试通过 CDK 部署在打字稿中实现的 lambda。

我能够成功部署 lambda,但是当我测试它时,出现以下错误:

{
  "errorType": "Runtime.ImportModuleError",
  "errorMessage": "Error: Cannot find module 'index'\nRequire stack:\n- /var/runtime/index.mjs",
  "trace": [
    "Runtime.ImportModuleError: Error: Cannot find module 'index'",
    "Require stack:",
    "- /var/runtime/index.mjs",
    "    at _loadUserApp (file:///var/runtime/index.mjs:996:17)",
    "    at async UserFunction.js.module.exports.load (file:///var/runtime/index.mjs:1031:21)",
    "    at async start (file:///var/runtime/index.mjs:1194:23)",
    "    at async file:///var/runtime/index.mjs:1200:1"
  ]
}
Run Code Online (Sandbox Code Playgroud)

lambda 在 CDK 中声明如下:

    const postImages = new lambda.Function(scope, utils.prefixed('post_images'), {
        runtime: lambda.Runtime.NODEJS_18_X,
        handler: 'index.lambdaHandler',
        code: lambda.Code.fromAsset('./sd_service/post_images')
    })
Run Code Online (Sandbox Code Playgroud)

的内容./sd_service/post_images看起来像这样:

在此输入图像描述

索引.ts:

import { Context, APIGatewayEvent, APIGatewayProxyResult } from 'aws-lambda';

export …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-lambda aws-cdk

16
推荐指数
2
解决办法
2万
查看次数

非final类不能满足协议要求,因为它在非参数非结果类型中使用"Self"

我想用一个类方法实现一个协议,该方法将实现类的数组作为参数.例如这样的事情:

protocol MyProtocol {
    static func foo(verticies: [Self]) -> Int
}

class MyClass : MyProtocol {
    class func foo(verticies: [MyClass]) -> Int {
        return 42
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,我收到以下错误:

协议'MyProtocol'要求'foo()'不能被非最终'MyClass'类满足,因为它在非参数非结果类型中使用'Self'

但是如果我使用MyClass类型的对象而不是数组,这可以很好地工作:

protocol MyProtocol {
    static func foo(verticies: Self) -> Int
}

class MyClass : MyProtocol {
    class func foo(verticies: MyClass) -> Int {
        return 42
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么这不适用于数组类型,并且有正确的方法吗?

swift

10
推荐指数
1
解决办法
5909
查看次数

如何使用 FocusState 在 SwiftUI 中制作自己的可聚焦视图?

所以我想实现一个自定义控件作为UIViewRepresentable使用绑定正确处理焦点的控件@FocusState

所以我希望能够像这样管理焦点:

struct MyControl: UIViewRepresentable { ... }


struct Container: View {

    @FocusState var hasFocus: Bool = false

    var body: some View {
        VStack {
            MyControl()
                .focused($hasFocus)

            Button("Focus my control") {
                hasFocus = true
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我必须实施什么才能MyControl让它正确响应焦点状态?是否有必须实施的协议或其他内容?

ios swiftui combine

10
推荐指数
1
解决办法
2107
查看次数

如何在Android单元测试中按ID访问资源?

我正在尝试编写一个使用模拟JSON响应的单元测试.

基本上,我的意图是将json文件添加到/ res/raw,并使用我在应用程序中使用的相同方法访问它们:

InputStream jsonStream = context.getResources().openRawResource(R.raw.mock_json_response)
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我收到以下错误:

android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f060001
Run Code Online (Sandbox Code Playgroud)

我正在使用robolectric进行测试 - 我不确定这是否会改变外部文件的访问方式.

我已经尝试将JSON文件放在两者中/app/src/main/res,/app/src/test/res但似乎都不起作用.

是否可以通过这种方式访问​​测试中的资源?

tdd android robolectric

8
推荐指数
1
解决办法
1520
查看次数

使用AWS iOS SDK 2.0上载的文件的权限

我正在使用基于AWS示例代码的方法将文件上传到S3存储桶:

http://docs.aws.amazon.com/mobile/sdkforios/developerguide/s3transfermanager.html

问题是,一旦上传这些文件,查看这些文件的默认权限仅授予S3存储桶的所有者,我希望它们是公开可用的.如何使用iOS SDK 2.0实现此目的?

amazon-s3 amazon-web-services ios

6
推荐指数
1
解决办法
1352
查看次数

如何在textarea文本更改时保留光标位置?

我正在尝试实现一个textarea,它自动在React中插入紧密的parens,但每当我修改textarea的value属性时,光标会跳转到正在编辑的文本的末尾.

这是我的onChange函数:

    //on change
    function(event) {

        var newText =  event.target.value

        var cursorPosition = getCursorPosition(event.target)
        if(lastCharacterWasParen(newText, cursorPosition)){
            newText = newText.slice(0, cursorPosition) + ')' + newText.slice(cursorPosition)
        }

        this.setProps({text: newText}})

    }
Run Code Online (Sandbox Code Playgroud)

这成功插入了paren,但如何保留光标位置?

javascript jquery reactjs

5
推荐指数
1
解决办法
3455
查看次数

使用@available 有条件地创建一个类

我有一个用例,其中创建一个类的两个实现非常有用:一个用于 iOS 7 及更低版本,另一个用于 8+。这似乎@available是我正在寻找的工具,但我不知道如何使它工作。

从文档看来,这应该是可能的:

@available(iOS 8.0, unavailable)
class MyCompatabilityClass : NSObject {
    //iOS 7 implementation
}

@available(iOS 8.0, *)
class MyCompatabilityClass : ClassOnlyAvailableInIOS8 {
    //iOS 8 implementation
}
Run Code Online (Sandbox Code Playgroud)

但是我Expected version number@available(iOS 8.0, unavailable). iOS 版本高于指定版本的条件类工作正常,但如何指定仅特定版本号以下编译的类?

ios swift

5
推荐指数
1
解决办法
394
查看次数

多个存储驱动程序在私有注册表中出现恐

我正在尝试部署S3支持的私有docker注册表,当我尝试启动注册表容器时出现错误.我的docker-compose.yml看起来像这样:

registry:
  restart: always
  image: registry:2
  ports:
    - 5000:5000
  environment:
    REGISTRY_STORAGE_S3_ACCESSKEY: myKey
    REGISTRY_STORAGE_S3_SECRETKEY: mySecret
    REGISTRY_STORAGE_S3_BUCKET: docker.registry.bucket
    REGISTRY_STORAGE_S3_ROOTDIRECTORY: registry/data
  volumes:
    - /home/docker/certs:/certs
Run Code Online (Sandbox Code Playgroud)

当我尝试运行时,sudo docker-compose up -d我收到此错误消息:

registry_1 | panic: multiple storage drivers specified in configuration or environment: s3, filesystem
Run Code Online (Sandbox Code Playgroud)

似乎我在我的环境中缺少明确选择s3的东西,但是从文档中不清楚如何做到这一点.

docker docker-registry docker-compose

5
推荐指数
1
解决办法
1545
查看次数

M1 mac 上的设备扩展验证错误

因此,我尝试在配备 M1 处理器的 Mac 上遵循 Vulkan 教程,但遇到了设备创建问题。

因此,根据教程,我设置设备启用的扩展,如下所示:

const std::vector<const char*> deviceExtensions = {
    VK_KHR_SWAPCHAIN_EXTENSION_NAME,
};

VkDeviceCreateInfo createInfo = {};
createInfo.enabledExtensionCount = static_cast<uint32_t>(deviceExtensions.size());
createInfo.ppEnabledExtensionNames = deviceExtensions.data();

Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到以下验证错误:

验证层:验证错误:[VUID-VkDeviceCreateInfo-pProperties-04451]对象0:句柄= 0x11bd84d40,类型= VK_OBJECT_TYPE_PHYSICAL_DEVICE;| 消息 ID = 0x3a3b6ca0 | vkCreateDevice:必须启用 VK_KHR_portability_subset,因为物理设备 VkPhysicalDevice 0x11bd84d40[] 支持它 Vulkan 规范规定:如果 VK_KHR_portability_subset 扩展包含在 vkEnumerateDeviceExtensionProperties 的 pProperties 中,则 ppEnabledExtensionNames 必须包含“VK_KHR_portability_subset”( https://vulkan.lunarg.com/doc/查看/1.3.211.0/mac/1.3-extensions/vkspec.html#VUID-VkDeviceCreateInfo-pProperties-04451

验证层: vkCreateDevice:尝试从 VkPhysicalDevice 创建 VkDevice,该 VkPhysicalDevice 来自可移植性驱动程序,但未设置 VkInstanceCreateInfo 标志中的 VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR 位并启用 VK_KHR_portability_enumeration 扩展。在加载程序的未来版本中,将不会枚举此 VkPhysicalDevice。

所以我尝试添加VK_KHR_portability_subset第一个错误中提到的扩展名:

const std::vector<const char*> deviceExtensions = {
    VK_KHR_SWAPCHAIN_EXTENSION_NAME,
    "VK_KHR_portability_subset",
}; …
Run Code Online (Sandbox Code Playgroud)

macos vulkan moltenvk

5
推荐指数
1
解决办法
2276
查看次数

有什么方法可以跟踪 proc 宏中发生错误的位置吗?

我正在实现一个 proc 宏,并在另一个板条箱中进行测试。当我编译客户端包时,proc 宏的调用站点抛出错误:

error: proc macro panicked
  --> foo/src/main.rs:17:1
Run Code Online (Sandbox Code Playgroud)

该错误发生在 proc 宏实现中。

这个错误不是很有帮助,因为它没有指出具体失败的地方。可以使用唯一的错误消息来找出它,但是作为跟踪的一部分,在 proc 宏实现中获得错误起源的确切文件和行号会简单得多。

有什么办法可以实现这一点吗?

rust rust-proc-macros

5
推荐指数
1
解决办法
2109
查看次数