javascript - Kotlin 多平台 gradle 任务 "jsRun"给出错误 "[webpack-cli] TypeError: cli.isMultipleCompiler is not a function"

标签 javascript kotlin webpack kotlin-js webpack-cli

我有一个使用 JVM 和 JS 的 Kotlin 多平台项目。执行jsRun gradle task启动webpack server失败,报如下错误:

Waiting for changes to input files of tasks... (ctrl-d then enter to exit)
[webpack-cli] TypeError: cli.isMultipleCompiler is not a function
[webpack-cli] TypeError: cli.isMultipleCompiler is not a function
    at Command.<anonymous> (C:\MyProject\build\js\node_modules\@webpack-cli\serve\lib\index.js:146:35)
    at async Promise.all (index 1)
    at async Command.<anonymous> (C:\MyProject\build\js\node_modules\webpack-cli\lib\webpack-cli.js:1687:7)

编译成功,我可以通过Ktor服务项目,问题似乎是webpack dev server。

kotlin gradle plugin 生成的package.json 似乎使用了webpack-cli 4.9.0

{
  "name": "MyProject-client",
  "version": "1.0.0",
  "main": "kotlin/MyProject-client.js",
  "devDependencies": {
    "sass-loader": "13.0.0",
    "sass": "1.53.0",
    "style-loader": "3.3.1",
    "css-loader": "6.7.1",
    "resolve-url-loader": "5.0.0",
    "webpack": "5.57.1",
    "webpack-cli": "4.9.0",
    "format-util": "1.0.5",
    "source-map-loader": "3.0.0",
    "webpack-dev-server": "4.3.1",
    "dukat": "0.5.8-rc.4"
  },
  "dependencies": {},
  "peerDependencies": {},
  "optionalDependencies": {},
  "bundledDependencies": []
}

This说这是 webpack-cli 4.9.0 中的错误并建议升级到 4.10.0。我不知道是否/如何在 Kotlin/JS 中更改 webpack 版本。

最佳答案

这应该添加到受影响项目中的 build.gradle.kts 以强制使用 webpack-cli 版本。在 Kotlin 团队更新硬编码版本之前,这是一种解决方法。

// Fixes webpack-cli incompatibility by pinning the newest version.
rootProject.extensions.configure<org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension> {
    versions.webpackCli.version = "4.10.0"
}

关于javascript - Kotlin 多平台 gradle 任务 "jsRun"给出错误 "[webpack-cli] TypeError: cli.isMultipleCompiler is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72731436/

相关文章:

javascript - 如何从对象扩展?

javascript - 尝试将变量放入 Jquery 的选择器中

android - 从 RxJava2 迁移到 Kotlin 协程

javascript - webpack import 返回 undefined,取决于导入的顺序

angularjs - Webpack导入html模板未加载

javascript - 这里如何使用扩展语法将数字转换为字符串数组?

javascript - 无法读取属性 innerHTML Javascript

gradle - 插件如何提供扩展任务?

Android数据绑定(bind)不遵守kotlin的liveData builder

javascript - React Hot Loader 似乎可以工作但不会更新。 [babel-preset-env]