我建立了Kotlin跨平台库,并将其发布到Bintray。当尝试将其包含在示例node.js应用程序中时,它将能够找到依赖项,但是编译将失败,并带有以下异常:
internal/modules/cjs/loader.js:800
throw err;
^
Error: Cannot find module 'storyblok-mp-sdk'
Require stack:
- /Users/.../storyblok-mp-SDK/nodejsapp/node/index.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15)
at Function.Module._load (internal/modules/cjs/loader.js:690:27)
at Module.require (internal/modules/cjs/loader.js:852:19)
at require (internal/modules/cjs/helpers.js:74:18)
at /Users/.../storyblok-mp-SDK/nodejsapp/node/index.js:5:48
at Object.<anonymous> (/Users/.../storyblok-mp-SDK/nodejsapp/node/index.js:18:2)
at Module._compile (internal/modules/cjs/loader.js:959:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
at Module.load (internal/modules/cjs/loader.js:815:32)
at Function.Module._load (internal/modules/cjs/loader.js:727:14) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/.../storyblok-mp-SDK/nodejsapp/node/index.js'
]
}
看起来依赖项本身已正确下载,并且在编译过程中也得到了处理(因为它在js目录中的build目录中可用)。但是,即使事情似乎已经解决,问题仍然存在。
整个示例项目已发布在此分支:https://github.com/mikepenz/storyblok-mp-SDK/tree/feature/nodejssample/nodejsapp
为了使事情简单,我尝试使
build.gradle
尽可能简单buildscript {
...
}
apply plugin: 'kotlin2js'
apply plugin: 'kotlin-dce-js'
repositories { ... }
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version"
implementation "com.mikepenz:storyblok-mp-sdk-js:0.0.3"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.3"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-js:1.3.3"
}
compileKotlin2Js.kotlinOptions {
moduleKind = "umd"
outputFile = "node/index.js"
}
task npmInit(type: Exec) {
commandLine "npm", "init", "-y"
}
task npmInstall(type: Exec) {
commandLine "npm", "install", "kotlin", "kotlinx-coroutines-core", "express", "--save"
}
task npmRun(type: Exec) {
commandLine "node", "node/index.js"
}
npmRun.dependsOn(build)
我能找到的所有资源对于如何正确配置项目似乎都很含糊。删除依赖关系本身,而不从依赖关系中引用类似乎可行。所以我可以说一般的项目设置应该可以
最佳答案
我无法重现该问题。您使用什么版本的Gradle?
我已经在Mac上尝试使用6.0.1。
另外,您可以在问题跟踪器中创建问题-https://youtrack.jetbrains.com/issues/KT
关于node.js - Kotlin多平台node.js项目由于 “Error: Cannot find module '而失败…'”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59492909/