gradle 如何在KMM项目中访问Kotlin/JavaScript生成的JavaScript文件?

nqwrtyyt  于 2023-06-28  发布在  Kotlin
关注(0)|答案(1)|浏览(197)

我成功地在我的Kotlin多平台移动的中添加了KotlinJavaScript目标。
我已将index.html文件添加到jsMain/resources文件夹中,并在运行gradle任务jsBrowserDevelopmentRun时提供该文件
但问题是,我无法通过标记添加从Kotlin脚本生成的JavaScript文件
最让我感到沮丧的是,脚本src属性应该包含什么内容并不清楚。
如果我将index.html文件放到src/main/resources中(对于KotlinJS浏览器项目),则index.html文件将被复制到build/processedResources/Js/main/中,
而我的JavaScript被放到了build/js/packages/$project/kotlin/$project.js中。
所以我不知道src应该是什么样的才能正常工作。
另外,build/js/packages/$project/kotlin/$project.js包含一个index.html,但是它没有被服务,而build/processedResources/Js/main/已经被服务了。
此外,在构建日志中,我收到一些消息,这似乎是一个问题,

<i> [webpack-dev-server] Content not from webpack is served from '/Users/rageshantonyd/AndroidStudioProjects/AllTarg/shared/build/processedResources/js/main' directory
<i> [webpack-dev-middleware] wait until bundle finished: /

我想做一些事情,
build/js/packages/$project/kotlin/$project.js提供index.html

构建后,将整个build/js/packages/$project/kotlin/$project.js文件复制到build/processedResources/Js/main/,然后服务
注意:我手动做了第二种方法,但现在JS文件显示在控制台

Uncaught Error: Error loading module 'AllTarg-shared'. Its dependency 'kotlin-kotlin-stdlib-js-ir' was not found. Please, check whether 'kotlin-kotlin-stdlib-js-ir' is loaded prior to 'AllTarg-shared'.
    at AllTarg-shared.js:8:13
    at AllTarg-shared.js:15:2

参考:x1c 0d1x

slmsl1lt

slmsl1lt1#

如果你使用内置服务器,你从html引用js文件作为$project.js应该可以工作,也就是说,你需要添加到你的html如下:

<script src="$project.js"></script>

相关问题