uni-app小程序在HBuilderX中运行时,新建的分包Vue文件为何无代码且以JS形式出现在主包vendor.js中

发布于 1周前 作者 yuanlaile 最后一次编辑是 5天前 来自 Uni-App

uni-app小程序在HBuilderX中运行时,新建的分包Vue文件为何无代码且以JS形式出现在主包vendor.js中

操作步骤:

HBuilderd运行uniapp小程序为什么新建的分包Vue文件,里面没有任何代码。Vue文件会以JS文件的形式出现在主包的vendor.js文件里面。

预期结果:

vendor.js不应该出现分包里面的文件。因为分包是新建的,不存在任何地方有引用。

实际结果:

vendor.js出现了分包Vue文件,是以.js文件的形式出现的。

bug描述:

HBuilderd运行uniapp小程序为什么新建的分包Vue文件,里面没有任何代码。Vue文件会以JS文件的形式出现在主包的vendor.js文件里面。

"optimization" : {
"subPackages" : true
},

2 回复

为什么,为什么,为什么 会将分包的文件打包到主包的vendor.js文件里面。而且还是新建的分包,没有任何代码。新建的分包路径也正常。mainifest.json该配置都配置了啊


在uni-app中处理分包加载时,确保你的分包配置正确以及代码文件被正确引用是关键。以下是一个基本的代码案例和配置说明,帮助你排查和解决新建的分包Vue文件无代码且以JS形式出现在主包vendor.js中的问题。

1. 分包配置

首先,确保在pages.json中正确配置了分包路径。例如,如果你的分包路径是pages/subpkg,你应该在pages.json中这样配置:

{
  "pages": [
    // 主包页面
    {
      "path": "pages/index/index",
      "style": {
        "navigationBarTitleText": "首页"
      }
    }
    // 其他页面...
  ],
  "subPackages": [
    {
      "root": "pages/subpkg",
      "pages": [
        {
          "path": "subpage/subpage",
          "style": {
            "navigationBarTitleText": "分包页面"
          }
        }
      ]
    }
  ]
}

2. Vue 文件创建与引用

确保你的分包Vue文件(如pages/subpkg/subpage/subpage.vue)已经正确创建,并且包含有效的Vue代码。例如:

<template>
  <view>
    <text>这是一个分包页面</text>
  </view>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello, Sub-package!'
    }
  }
}
</script>

<style scoped>
view {
  padding: 20px;
}
</style>

3. 编译与检查

在HBuilderX中,重新编译项目,并检查生成的dist目录或相应的编译输出目录。确保分包文件(如subpkg/subpage/subpage.jssubpkg/subpage/subpage.vue.js,后者是Vue文件编译后的JS)被正确生成,并且没有错误地合并到主包的vendor.js中。

4. 调试与日志

如果问题依旧存在,可以开启uni-app的调试模式,查看编译日志,确认是否有关于分包处理的错误信息。此外,使用开发者工具查看网络请求,确认分包文件是否被正确请求和加载。

5. 清理缓存

有时候,开发工具的缓存可能导致一些奇怪的问题。尝试清理HBuilderX的缓存,或者重启开发工具,再次编译项目。

通过以上步骤,你应该能够定位并解决问题。如果问题依旧无法解决,建议检查uni-app的官方文档或社区论坛,看看是否有其他开发者遇到并解决了类似的问题。

回到顶部