收藏
回答

请问npm分包后,构建npm后,把miniprogram_npm放在分包里,为什么无法调用组件?

我用的是最新的微信小程序和开发工具。

这个工程实在太大了,用到的组件有点多,主包放不下,所以我打起了分包的主意。

我在project.config.json里设置键值setting的一部分为如下所示

    "packNpmManually": true,

    "packNpmRelationList": [

      {

        "packageJsonPath": "./package.json",

        "miniprogramNpmDistDir": "./miniprogram/"

      },

      {

        "packageJsonPath": "./pm/package.json",

        "miniprogramNpmDistDir": "./pm/miniprogram/"

      }

    ],

然后npm init/npm i XXX安装相关的包后,在微信小程序开发工具里点击菜单里的“构建npm”。

然后生成了两个不同位置的miniprogram_npm文件夹,

但是分包的npm文件夹里的组件不能被调用,这是为什么?

试过很多种路径的表达方式,结果都是雷同。比如

import TIM from "tim-wx-sdk";

import TIM from "./pm/tim-wx-sdk";

import TIM from "./pm/miniprogram_npm/tim-wx-sdk/index";

import TIM from "./pm/miniprogram_npm/tim-wx-sdk/";

等等


提示的错误如下:


VM3628:9 app.js错误:

 Error: module 'pm/miniprogram_npm/tim-wx-sdk/index.js' is not defined, require args is './pm/miniprogram_npm/tim-wx-sdk/index'

    at E (VM3255 WAService.js:1)

    at r (VM3255 WAService.js:1)

    at app.js? [sm]:1

    at E (VM3255 WAService.js:1)

    at <anonymous>:7:9

    at doWhenAllScriptLoaded (<anonymous>:24296:21)

    at <anonymous>:15:5

    at d.loadBabelModules (assubloader.js:1)(env: Windows,mp,1.06.2303220; lib: 2.30.2)

回答关注问题邀请回答
收藏

4 个回答

  • commy
    commy
    2023-06-05

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2023-06-05
    有用
    回复 2
    • Steven Yang
      Steven Yang
      2023-07-10
      主包全部用在放组件上,其他页面调到分包里面,ok了。反正主包是塞满了控件,页面都是分包的。
      2023-07-10
      回复
    • Steven Yang
      Steven Yang
      2023-07-10
      主包全部用在放组件上,其他页面调到分包里面,ok了。反正主包是塞满了控件,页面都是分包的。
      2023-07-10
      回复
  • 。
    06-18

    这个方式可以走的通么 后面怎么解决的 方便给个代码片段么


    06-18
    有用
    回复
  • 有事吗
    有事吗
    2023-08-08

    我也遇到这个问题,请问楼主解决了吗

    2023-08-08
    有用
    回复
  • 富贵
    富贵
    2023-06-28

    我也遇到了这个问题,请问楼主解决了吗

    2023-06-28
    有用
    回复
登录 后发表内容