Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于小程序新增加的分包加载功能 #707

Closed
fitcong opened this issue Dec 30, 2017 · 46 comments
Closed

关于小程序新增加的分包加载功能 #707

fitcong opened this issue Dec 30, 2017 · 46 comments

Comments

@fitcong
Copy link

fitcong commented Dec 30, 2017

我这边同样的使用方式,在原生框架上可以实现分包加载,并成功打开,但是在wepy框架下页面就是空白的,没有加载任何数据,前端小白的我也看不懂框架代码,求解答

@chen1zee
Copy link

chen1zee commented Jan 2, 2018

我也遇到这个问题,改wepy的编译过程是有点难度,所以我是用gulp写了一个修改 dist/app.json 的 脚本,在作者还没更新支持分包前可以先试试 https://github.com/chen1zee/gulp-tools-for-wepy 链接404请复制粘贴

@Gcaufy
Copy link
Collaborator

Gcaufy commented Jan 2, 2018

@fitcong @chen1zee 刚看了一下官方的分包功能,那个应该只是在app.wpy 里配置一下就可以了吧,是什么原因导致wepy不支持分包呢?能提供相关代码给我测试看看吗?

@fitcong
Copy link
Author

fitcong commented Jan 2, 2018

@Gcaufy 原因我也是没看懂,小白见谅.测试代码就跟官方的一样. 就两个空页面一个是主包一个是分包.

@chen1zee
Copy link

chen1zee commented Jan 3, 2018

@Gcaufy 编译过程中,cli好像会根据抓取到的app.json->pages:[],数组来进行微信小程序的Page()调用,如这样子:Page(require('./../../npm/wepy/lib/wepy.js').default.$createPage(Home , 'pages/home/index'));
而分包之后,因为app.json->pages:[]无相关页面路径,对应的dist->page.js 就不会 调用 Page()函数,从而导致了分包出错。

@jimmyrogue
Copy link

我也遇到了同样的问题

@Gcaufy
Copy link
Collaborator

Gcaufy commented Jan 3, 2018

@jimmyrogue 方便提供可复现代码么?

@jimmyrogue
Copy link

@Gcaufy 测试demo demo
基础库版本1.7.4

@jimmyrogue
Copy link

@Gcaufy 老大 如何了

@Gcaufy
Copy link
Collaborator

Gcaufy commented Jan 5, 2018

@jimmyrogue 好的,现在比较忙,我周末看看

@jimmyrogue
Copy link

@Gcaufy 好的 辛苦了

@excxapp
Copy link
Contributor

excxapp commented Jan 5, 2018

这个问题,确实存在,老大辛苦

@jayconscious
Copy link

望穿秋水

Gcaufy added a commit that referenced this issue Jan 7, 2018
@Gcaufy
Copy link
Collaborator

Gcaufy commented Jan 7, 2018

@fitcong @chen1zee @jayconscious

安装alpha包来体验看看分包功能还有问题吗?

npm install wepy-cli@1.6.1-alpha4 -g

@fitcong
Copy link
Author

fitcong commented Jan 8, 2018

@Gcaufy 刚刚测试了一下,可以进行分包加载了,大佬辛苦!

@Gcaufy Gcaufy closed this as completed Jan 8, 2018
@jayconscious
Copy link

@Gcaufy @fitcong
分包是没有问题了,但是工具上有一个报错
image
在dist中相应的页面js没有 page 函数,不知道是不是我的分包写法有问题
image

@jimmyrogue
Copy link

谢谢 已经可以使用了
@jayconscious 可以把配置和目录发上来看看 我没有出现这个错

@jayconscious
Copy link

@jimmyrogue
image
image

@jayconscious
Copy link

image

@jimmyrogue
Copy link

@jayconscious 文档里说:首页的 TAB 页面必须在 app(主包)内。那你的index应该就不能放分包里吧,我是这么理解的

@jayconscious
Copy link

@jimmyrogue 3Q,我在看看

@jayconscious
Copy link

@jimmyrogue 并不是写法问题,新版本的wepy-cli没有生效
npm install wepy-cli@1.6.1-alpha4 -g 必须全局安装

@callmesoul
Copy link

想问下是不是一定要有TAB ?
我没有tab,安装了npm install wepy-cli@1.6.1-alpha4 -g。
但还是不行,一直报:
VM546:2 未找到入口 app.json 文件,或者文件读取失败,请检查后重新编译。

@wells1013
Copy link

npm install wepy-cli@1.6.1-alpha7 -g。

@changyuwu
Copy link

请问下,我使用分包加载后,在别的包中增加了一个页面,为什么编译后导致主包的体积增大很多?

@jackywq
Copy link

jackywq commented May 17, 2018

@jimmyrogue ,我安装了v1.6.1-alpha4版本,并且进行分包配置,可还是报错了,
4
下图是分包配置的代码,帮忙看一下有没有什么问题?

1
2
3

@jackywq
Copy link

jackywq commented May 17, 2018

@Gcaufy 大佬,按照你的方式结果报错了~

@jackywq
Copy link

jackywq commented May 17, 2018

问题解决了,是在编译的时候报错了,编译成功后,导致dist目录下并没有生成对应的js文件
2

1

@wangjienihao
Copy link

有没有解决的啊 各位

@wangjienihao
Copy link

然后这个编译出来 主包跟分包文件不一样! 导致page未调用 怎么解决啊 各位大哥

@mllet
Copy link

mllet commented Nov 9, 2018

你们都解决了吗?我分包页面加载了,但是还是是空白页面,是我什么地方没有设置好么

@yetianyes
Copy link

不行 ,子包页面一进去就是 VM4032:1 Page[packA/pages/public/orderInfo] not found. May be caused by: 1. Forgot to add page route in app.json. 2. Invoking Page() in async task.

@Alaxkane
Copy link

Alaxkane commented Nov 20, 2018

分包页面可以进入,但是报这个错误,请问是什么问题
image
image
wxss和wxml都正常,就是js会报错,
image我安装的版本有问题吗
image
app.json有问题吗编译出来的js里面
image是不是我的依赖有什么问题

@w19871029
Copy link

分包页面可以进入,但是报这个错误,请问是什么问题
image
image
wxss和wxml都正常,就是js会报错,
image我安装的版本有问题吗
image
app.json有问题吗编译出来的js里面
image是不是我的依赖有什么问题

我的也是出现这个问题 请问你的解决了吗 怎么解决的啊

@Alaxkane
Copy link

@w19871029 没有,还是卡在这里,不太明白是哪里的问题=。=

@wangshaoqiu
Copy link

@fitcong @chen1zee @jayconscious

安装alpha包来体验看看分包功能还有问题吗?

npm install wepy-cli@1.6.1-alpha4 -g

大佬 麻烦再看看呢 ?这个问题还是没解决

@callmesoul
Copy link

callmesoul commented Nov 26, 2018

@w19871029 新的官方文档好像有问题的subpackages应该写成subPackages
@wangshaoqiu

@lsmtty
Copy link

lsmtty commented Nov 26, 2018

通过手动修改打包出来的页面,貌似可以解决这种问题,期待官方修复
image

@jimmyrogue
Copy link

分包页面可以进入,但是报这个错误,请问是什么问题
image
image
wxss和wxml都正常,就是js会报错,
image我安装的版本有问题吗
image
app.json有问题吗编译出来的js里面
image是不是我的依赖有什么问题

我的也是出现这个问题 请问你的解决了吗 怎么解决的啊

wepy版本太低了吧。我用的是1.7.2-alpha4

@Alaxkane
Copy link

@jimmyrogue 和版本没关系,1.7.2的我也试过了,你的1.7.2可以用?

@jimmyrogue
Copy link

@jimmyrogue 和版本没关系,1.7.2的我也试过了,你的1.7.2可以用?

可以,我记得这个问题当时是发了新的版本才可以使用的

@Alaxkane
Copy link

@jimmyrogue 能不能发下你的app.js的配置,我看下是不是我哪里配错了

@jimmyrogue
Copy link

@jimmyrogue 能不能发下你的app.js的配置,我看下是不是我哪里配错了

我注意到你的root目录是pages/inside,我记得是不允许在pages下面的,必须和pages同一级。
举个例子:

{
root: 'activities',
pages: [
    'activities/activityA',
    'activities/activityB'
  ]
},

@Alaxkane
Copy link

@jimmyrogue 好的,我稍晚时候试一下,万分感谢

@wangshaoqiu
Copy link

通过手动修改打包出来的页面,貌似可以解决这种问题,期待官方修复
image
大佬 ,如何手动修复?

@lsmtty
Copy link

lsmtty commented Dec 11, 2018

wepy版本1.7.2,wepy-cli版本1.7.3打包后依然会出现未引用page的问题,查看wepy-cli源码断点调试。发现正常的页面中会用$createPage替换exports.default默认写法,但是分包中的页面走到这里的js编译后,下面判断type为空串,没有替换为目标代码,造成页面错误。
image
image
暂时解决办法是,如果type为空赋值为page,经过测试打包正常,可以暂时解决这个问题,期待官方可以从根本上修复这个问题。
image

@lwzhang
Copy link

lwzhang commented Sep 25, 2019

wepy版本1.7.2,wepy-cli版本1.7.3打包后依然会出现未引用page的问题,查看wepy-cli源码断点调试。发现正常的页面中会用$createPage替换exports.default默认写法,但是分包中的页面走到这里的js编译后,下面判断type为空串,没有替换为目标代码,造成页面错误。
image
image
暂时解决办法是,如果type为空赋值为page,经过测试打包正常,可以暂时解决这个问题,期待官方可以从根本上修复这个问题。
image

有效。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests