Kotlin Js - 访问资源文件夹

问题描述 投票:0回答:2

我正在 Kotlin-Multiplatform 中启动一个项目。通过Java访问资源文件夹很容易,但我不知道如何通过JS针对Node访问它。

在测试过程中,我发现资源文件存储在单独的文件夹中。如果我没记错的话:

build/js
  |-- package
  |   |--project
  |   |--project-test \\tests are executed here via calling __dirname in node
  |
  |--processedResources 
      |-- testfile.txt \\ files in the resource folder are stored here

我想知道:如何通过 JS/Node 完成?

kotlin-multiplatform kotlin-js
2个回答
1
投票

您可以尝试使用

fs
:

external fun require(name: String): dynamic
external val __dirname: dynamic

val fs = require("fs")
val path = require("path");

fun main() {
    val path = path.join(
        __dirname,
        "..\\..\\..\\..",
        "processedResources",
        "js",
        "main",
        "test.txt"
    )
    println(fs.readFileSync(path, "utf8"))
}


0
投票

有一种使用纯kotlinx的方法(不涉及javascript),但我不知道相对路径有多稳定。如果不起作用,请尝试增加或减少

../

import kotlinx.io.buffered
import kotlinx.io.files.Path
import kotlinx.io.files.SystemFileSystem
import kotlinx.io.readString
import kotlin.test.Test

class ReadFileTest {
    @Test
    fun readFileTest() {
        val file = Path("../../../processedResources/testfile.txt")
        val fullDoc = SystemFileSystem.source(file).buffered().readString()
        println(fullDoc)
    }
}

顺便说一句,我使用

../../../../src/jsTest/resources/

访问我的资源
© www.soinside.com 2019 - 2024. All rights reserved.