uni-app 打包出现 createUniXKotlinCompilerOnce is not a function

发布于 1周前 作者 caililin 来自 Uni-App

uni-app 打包出现 createUniXKotlinCompilerOnce is not a function

操作步骤

在小程序下能正常运行

12:41:24.558 请注意运行模式下,因日志输出、sourcemap 以及未压缩源码等原因,性能和包体积,均不及发行模式。若要正式发布,请点击发行菜单或使用 cli 发布命令进行发布  
12:41:24.558 正在编译中...  
12:41:26.299 ​[@vue/compiler-sfc] `defineProps` is a compiler macro and no longer needs to be imported.  
12:41:26.299 ​  
12:41:29.588 项目 YuShanEmploymentPlatform 编译成功。前端运行日志,请另行在小程序开发工具的控制台查看。  
12:41:29.627 正在启动微信开发者工具...  
12:41:30.652 [微信小程序开发者工具] - initialize  
12:41:30.679 [微信小程序开发者工具] × IDE may already started at port 31904, trying to connect  
12:41:32.416 [微信小程序开发者工具] √ IDE server started successfully, listening on http://127.0.0.1:32256  
12:41:32.423 [微信小程序开发者工具] - open IDE  
12:41:32.852 [微信小程序开发者工具] √ open IDE  
12:41:32.915 微信开发者工具已启动,在HBuilderX中修改文件并保存,会自动刷新微信模拟器。  
12:41:32.915 注:  
12:41:32.915 1. 可以通过微信开发者工具切换pages.json中condition配置的页面,或者关闭微信开发者工具,然后再从HBuilderX中启动指定页面  
12:41:32.916 2. 如果出现微信开发者工具启动后白屏的问题,检查是否启动多个微信开发者工具,如果是则关闭所有打开的微信开发者工具,然后再重新运行  
12:41:32.916 3. 运行模式下不压缩代码且含有sourcemap,体积较大;若要正式发布,请点击发行菜单进行发布  
12:41:32.916 ready in 5743ms.

但是在模拟器运行app不行

12:32:57.823 请注意运行模式下,因日志输出、sourcemap 以及未压缩源码等原因,性能和包体积,均不及发行模式。  
12:32:57.831 编译器版本:4.45(vue3)  
12:32:57.839 正在编译中...  
12:32:58.516 failed to load config from D:\HBuilderX\plugins\uniapp-cli-vite\vite.config.js  
12:32:58.522 error during build:  
12:32:58.529 TypeError: createUniXKotlinCompilerOnce is not a function  
12:32:58.536     at uniUTSAppUniModulesPlugin (D:\HBuilderX\plugins\uniapp-cli-vite\node_modules\@dcloudio\uni-cli-shared\dist\vite\plugins\uts\uni_modules.js:189:11)  
12:32:58.544     at exports.default (D:\HBuilderX\plugins\uniapp-cli-vite\node_modules\@dcloudio\uni-app-vite\dist\index.js:13:56)  
12:32:58.552     at D:\HBuilderX\plugins\uniapp-cli-vite\node_modules\@dcloudio\vite-plugin-uni\dist\utils\plugin.js:81:20  
12:32:58.560     at Array.map (<anonymous>)  
12:32:58.567     at initPlugins (D:\HBuilderX\plugins\uniapp-cli-vite\node_modules\@dcloudio\vite-plugin-uni\dist\utils\plugin.js:79:10)  
12:32:58.575     at initExtraPlugins (D:\HBuilderX\plugins\uniapp-cli-vite\node_modules\@dcloudio\vite-plugin-uni\dist\utils\plugin.js:60:12)  
12:32:58.583     at createPlugins (D:\HBuilderX\plugins\uniapp-cli-vite\node_modules\@dcloudio\vite-plugin-uni\dist\index.js:76:53)  
12:32:58.592     at uniPlugin (D:\HBuilderX\plugins\uniapp-cli-vite\node_modules\@dcloudio\vite-plugin-uni\dist\index.js:48:11)  
12:32:58.600     at Object.<anonymous> (D:\HBuilderX\plugins\uniapp-cli-vite\vite.config.js:38:48)  
12:32:58.608     at Module._compile (node:internal/modules/cjs/loader:1364:14)  

预期结果

能正常运行

实际结果

能正常运行

bug描述

hbuilder新建项目在小程序可以运行打包app就报错了

Image

开发环境与版本信息

项目 信息
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 win10
HBuilderX类型 正式
HBuilderX版本号 4.45
手机系统 Android
手机系统版本号 Android 15
手机厂商 模拟器
手机机型 OPPO
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

1 回复

在解决 uni-app 打包过程中遇到的 createUniXKotlinCompilerOnce is not a function 错误时,这通常指向一个内部工具链或依赖问题。尽管具体的错误原因可能多种多样,但我们可以从以下几个方面来排查和解决。以下是一些可能的解决方案,结合代码和配置调整,帮助你定位和解决问题。

1. 清理项目并重新安装依赖

首先,确保你的项目依赖是最新的,并且没有因为某些包的版本冲突导致问题。你可以尝试删除 node_modules 文件夹和 package-lock.jsonyarn.lock 文件,然后重新安装依赖。

rm -rf node_modules
rm package-lock.json # 或者 rm yarn.lock
npm install # 或者 yarn install

2. 检查 HBuilderXuni-app CLI 版本

确保你使用的 HBuilderX IDE 和 uni-app CLI 工具是最新版本。有时候,软件更新会修复一些已知的bug。

3. 配置检查

检查你的 manifest.jsonvue.config.js(如果使用了 Vue CLI 插件)中的配置,确保没有错误或不一致的设置。

4. 检查 webpack 配置

如果你自定义了 webpack 配置,确保没有引入不兼容的插件或 loader。特别是与 Kotlin 相关的配置,虽然 uni-app 默认不直接涉及 Kotlin,但可能是通过某些依赖间接引入。

5. 示例代码审查

虽然直接代码示例可能不直接解决 createUniXKotlinCompilerOnce 的问题,但你可以审查任何可能影响构建过程的自定义脚本或配置。例如,检查 build.js 或其他构建脚本中是否有异常处理或配置错误。

6. 查看日志和错误报告

详细查看构建过程中的日志输出,寻找可能的线索。有时候,错误日志中会包含更具体的错误信息或堆栈跟踪,这有助于定位问题。

7. 社区和官方支持

如果上述步骤都不能解决问题,考虑在 uni-app 的官方社区、GitHub 仓库或相关论坛发帖求助。提供尽可能详细的信息,包括你的环境配置、操作步骤、错误日志等。

总结

由于 createUniXKotlinCompilerOnce 不是一个常见的公开 API 或错误信息,这很可能是内部工具链的一个问题。确保所有工具和环境都是最新的,并且配置正确,是解决问题的关键。如果问题依旧存在,寻求官方或社区的帮助是明智的选择。

回到顶部