uni-app createUniXArkTSCompilerOnce is not a function

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

uni-app createUniXArkTSCompilerOnce is not a function

操作步骤:

预期结果:

  • 成功运行

实际结果:

  • 报错createUniXArkTSCompilerOnce is not a function

bug描述:

  • 升级到最新的hbuilderx4.36,npx @dcloudio/uvm@latest ,报错createUniXArkTSCompilerOnce is not a function
信息类别 详细信息
产品分类 uniapp/App
PC开发环境 Mac
PC版本号 15.0.1
手机系统 HarmonyOS NEXT
手机版本号 HarmonyOS NEXT Developer Preview
手机厂商 华为
手机机型 harmony next
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 CLI
CLI版本号 4.5.17

4 回复

找到 package.json 下的 “@dcloudio/uni-uts-v1” 把版本号改为与其它相同的

确实是这个问题,已经修改了,感谢~

在处理 uni-app 开发过程中遇到 createUniXArkTSCompilerOnce is not a function 这类错误时,通常意味着你在使用 TypeScript 编译功能时遇到了问题。这个问题可能由多种原因引起,包括但不限于版本不兼容、配置错误或代码实现错误。

首先,确保你使用的 uni-app 和相关依赖是最新版本,因为老版本可能存在已知的bug或不兼容问题。更新 uni-app 和相关依赖到最新版本通常可以解决很多编译相关的问题。

以下是一个基本的 uni-app 项目配置示例,特别是针对 TypeScript 的配置,你可以参考并调整你的项目配置:

  1. 确保 pages.json, manifest.json, vue.config.js(如果使用 Vue CLI)等配置文件正确设置

  2. TypeScript 配置 (tsconfig.json):

{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "strict": true,
    "jsx": "preserve",
    "importHelpers": true,
    "moduleResolution": "node",
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "sourceMap": true,
    "baseUrl": ".",
    "types": ["webpack-env", "jest"],
    "paths": {
      "@/*": ["src/*"]
    },
    "lib": ["esnext", "dom"]
  },
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
  "exclude": ["node_modules"]
}
  1. vue.config.js 中配置 TypeScript:

如果你使用的是 Vue CLI 创建的 uni-app 项目,确保 vue.config.js 中有针对 TypeScript 的正确配置。以下是一个简单的配置示例:

const { defineConfig } = require('@vue/cli-service');

module.exports = defineConfig({
  transpileDependencies: true,
  chainWebpack: config => {
    config.resolve.alias
      .set('@', path.resolve(__dirname, 'src'))
      .end();
    // 其他 webpack 链式配置...
  }
});

注意:uni-app 并不直接使用 vue.config.js,这里假设你使用了 Vue CLI 插件或者某种方式集成了 Vue CLI。如果不是,请忽略此部分。

  1. 检查代码中的引用和调用

确保在你的代码中没有错误地引用或调用了 createUniXArkTSCompilerOnce。这个函数可能不是 uni-app API 的一部分,或者你的项目中有自定义实现但未被正确加载。

如果上述步骤无法解决问题,建议检查 uni-app 的官方文档和社区论坛,看看是否有其他开发者遇到并解决了相同的问题。此外,查看 uni-app 的 GitHub 仓库的 Issues 也是一个不错的选择,可能有相关的讨论和解决方案。

回到顶部