uni-app TypeError: createUniXSwiftCompilerOnce is not a function at getUniXSwiftCompiler

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

uni-app TypeError: createUniXSwiftCompilerOnce is not a function at getUniXSwiftCompiler

报错信息

TypeError: createUniXSwiftCompilerOnce is not a function
at getUniXSwiftCompiler (D:\桌面\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\uni-cli-shared\lib\uts\uts-webpack-plugin.js:115:9)。

我遇到了这个问题,是从hbuidx4.08升级到了4.36出现的问题,注释导入插件市场插件的代码就能编译成功,但是插件不能使用了  
完整报错TypeError: createUniXSwiftCompilerOnce is not a function
[HBuilder] 15:13:38.297     
at getUniXSwiftCompiler (D:\桌面\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\uni-cli-shared\lib\uts\uts-webpack-plugin.js:115:9)

详细信息

信息 描述
版本号 hbuidx4.08 升级到 4.36
开发环境 D:\桌面\HBuilderX\plugins\uniapp-cli\node_modules@dcloudio\uni-cli-shared\lib\uts\uts-webpack-plugin.js:115:9
项目创建方式 未提及

7 回复

我看你也回复了 https://ask.dcloud.net.cn/question/202308 这个帖子,给一个工程吧,我让相关同事看


目前解决了,主要是我将4.08安装的插件全部卸载了,然后重新运行项目,工具自己又安装插件,就可以了,谢谢

这里也遇到打包报错。更新hx到最新版本后。TypeError: createUniXKotlinCompilerOnce is not a function [HBuilder] 00:57:26.957 at getUniXKotlinCompiler (C:\Users\jy\Desktop\HBuilderX\plugins\uniapp-cli\node_modules@dcloudio\uni-cli-shared\lib\uts\uts-webpack-plugin.js:85:7) [HBuilder] 00:57:26.971 at Object.<anonymous> (C:\Users\jy\Desktop\HBuilderX\plugins\uniapp-cli\node_modules@dcloudio\uni-cli-shared\lib\uts\uts-loader.js:94:30) [HBuilder] 00:57:26.978 at LOADER_EXECUTION (C:\Users\jy\Desktop\HBuilderX\plugins\uniapp-cli\node_modules\loader-runner\lib\LoaderRunner.js:119:14) [HBuilder] 00:57:26.989 at runSyncOrAsync (C:\Users\jy\Desktop\HBuilderX\plugins\uniapp-cli\node_modules\loader-runner\lib\LoaderRunner.js:120:4) [HBuilder] 00:57:26.999 at iterateNormalLoaders (C:\Users\jy\Desktop\HBuilderX\plugins\uniapp-cli\node_modules\loader-runner\lib\LoaderRunner.js:232:2) [HBuilder] 00:57:27.007 at C:\Users\jy\Desktop\HBuilderX\plugins\uniapp-cli\node_modules\loader-runner\lib\LoaderRunner.js:205:4 [HBuilder] 00:57:27.015 at C:\Users\jy\Desktop\HBuilderX\plugins\uniapp-cli\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:85:15 [HBuilder] 00:57:27.025 at process.processTicksAndRejections (node:internal/process/task_queues:77:11) [HBuilder] 00:57:29.669 WARNING: Module Warning (from ./node_modules/postcss-loader/src/index.js): [HBuilder] 00:57:29.678 Warning

回复 2***@qq.com: 按照上面的回复试一下卸载 vue3 编译器试试

回复 DCloud_UNI_OttoJi: 不行呢,云打包报错然后就终止了

回复 1***@qq.com: 报错原因是什么。重新安装最新版 alpha 重新试一下

在处理 uni-app 中的 TypeError: createUniXSwiftCompilerOnce is not a function 错误时,首先需要确认该错误是否是由于环境配置不当、依赖缺失或版本冲突引起的。uni-app 是一个使用 Vue.js 开发所有前端应用的框架,它支持编译为 H5、App、小程序等多个平台。而 createUniXSwiftCompilerOnce 这个函数名听起来像是一个内部编译工具或插件的一部分,可能并不属于标准的 uni-app 核心库。

以下是一些可能的解决步骤和相关的代码示例,用于排查和解决这个问题:

1. 检查 uni-app 版本

确保你使用的 uni-app 版本是稳定的,并且没有已知的此类问题。可以通过更新到最新版本来尝试解决:

npm update -g @dcloudio/uni-app-cli

2. 检查项目依赖

确保项目中没有依赖冲突或缺失的依赖。检查 package.json 文件,确保所有依赖都已正确安装:

npm install

3. 清理和重建项目

有时候,简单的清理和重建项目可以解决一些奇怪的错误:

# 清理 node_modules 和 package-lock.json(或 yarn.lock)
rm -rf node_modules package-lock.json

# 重新安装依赖
npm install

# 重新编译项目
npm run dev

4. 检查自定义配置和插件

如果错误发生在自定义配置或插件中,检查 vue.config.js 或其他相关配置文件,以及任何自定义的 webpack 插件或 loader。确认没有尝试调用不存在的函数。

5. 查找和替换特定代码

如果错误指向特定的文件或模块,尝试查找 createUniXSwiftCompilerOnce 的引用,并替换或移除相关代码。例如,如果这是一个在 webpack.config.js 中自定义添加的插件,可能需要移除或更新它:

// webpack.config.js 示例
const somePlugin = require('some-plugin'); // 确保这个插件是存在的

module.exports = {
  // ... 其他配置
  plugins: [
    // 确保不调用不存在的函数
    // new somePlugin.createUniXSwiftCompilerOnce(), // 错误调用
    new somePlugin.SomeOtherFunction(), // 正确调用
  ],
};

总结

由于 createUniXSwiftCompilerOnce 不是一个标准的 uni-app 函数,这个问题很可能与特定的项目配置、依赖或自定义代码有关。按照上述步骤检查和调整你的项目配置,通常可以解决这类问题。如果问题依旧存在,可能需要更详细地检查项目的具体实现或寻求来自 uni-app 社区的帮助。

回到顶部