wepy icon indicating copy to clipboard operation
wepy copied to clipboard

引入第三方组件错误,这似乎是新版本的问题

Open RisenMyth opened this issue 5 years ago • 15 comments

Description

引入第三方组件会出现错误,原因是没有将组件所import的脚本编译到$vendor,目前我将 @wepy/cli 版本降回到 2.0.0-alpha.20 就没有问题了。

Environment

  • Platform: 微信开发者工具
  • wepy-cli version: 2.0.0-alpha.22
  • wepy version: 2.0.0-alpha.12

Reproduce

安装最新版本 @wepy/cli@nextwepy init standard demo创建新项目,并通过 npm i vant-weapp -S 安装第三方组件,在任意界面使用组件。

贴上我测试代码:

<template>
  <div>
    <van-button>测试按钮</van-button>
  </div>
</template>

<config>
{
  usingComponents: {
    'van-button': 'module:vant-weapp/dist/button/index'
  }
}
</config>

Relevant Code / Logs

// 这是在微信开发者工具里面的控制台报错
VM61 WAService.js:1 Uncaught Error: module "$vendor/vant-weapp/dist/common/component.js" is not defined
  at require (VM61 WAService.js:1)
  at VM61 WAService.js:1
  at index.js:3
  at require (VM61 WAService.js:1)
  at <anonymous>:20:7
  at HTMLScriptElement.scriptLoaded (appservice?t=1575980019504:1362)
  at HTMLScriptElement.script.onload (appservice?t=1575980019504:1374)

RisenMyth avatar Dec 10 '19 12:12 RisenMyth

+1 看了报错是编译解析的时候并没有把vant的公共js打包进vendor 好像是wepy中core的小版本问题

mikasayw avatar Dec 20 '19 02:12 mikasayw

cli 版本固定到2.0.0-alpha.20问题解决了,希望后续版本能够尽早修复这个问题。

lee88688 avatar Jan 09 '20 08:01 lee88688

+1

我这 cli 版本固定到2.0.0-alpha.20也一样出现这个问题啊,是不是模板里其他引用包有改动?

chenhaizano avatar Feb 13 '20 05:02 chenhaizano

这个问题我倒是解决了,需要手动把vant组件的源代码dist目录下的文件copy到compoents目录下再import 进去就可以用了。 另外接下来我倒是很希望微信小程序的ajax请求能完全支持兼容目前流行的axios,自带wx.request虽然能用但确实不是很方便。希望再下个 版本能原生支持,因为vuex配合axios才是完美的组合。当然微信小程序云开发确实也非常不错

neozhu avatar Feb 16 '20 13:02 neozhu

+1 首次使用wepy,配置完毕引入vant, wepy: 2.0.0-alpha.24 @vant/weapp: 1.0.5 立马报错: module "$vendor/@vant/weapp/lib/common/component.js" is not defined 还没使用就掉坑了。 2.0.0-alpha.20 一样报错。

yokingma avatar Feb 23 '20 09:02 yokingma

@Gcaufy 场景1: wepy-cli: 2.0.0-alpha.28 wepy:2.0.0-alpha.16 第三方组件编译解析时,有一部分未被打包进vendor 场景2: wepy-cli: 2.0.0-alpha.20 wepy:2.0.0-alpha.9 hooks报undefined. #2486

目前是很尴尬的局面

mikasayw avatar Apr 09 '20 08:04 mikasayw

无论是退到2.0.0-alpha.20还是退到官方文档上的2.0.0-alpha.14 ,连初始化项目都不行了,醉了。。。 wepy init standard myproj

  • downloading template wepy-cli · Failed to download repo standard: getaddrinfo ENOENT raw.githubusercontent.com

renpeng11 avatar Apr 21 '20 09:04 renpeng11

@renpeng11 通过 npm info wepy-cli确定一下版本

还有就是,现在我基本放弃使用框架开发微信小程序了,直接原生 哈哈

RisenMyth avatar Apr 30 '20 08:04 RisenMyth

确定一下

确实,wepy 出来的太晚了。还有就是所有国产开源项目都有短板就是官方文档太少,例子太少,更新就几乎没有。 原本wepy 组件化开发 整合vuex状态管理,本来应该是可以提高开发效率的,但结果却反而更慢。还有就是感觉微信小程序的js环境和普通html5 或是 ES6 也存在不兼容的地方,有些第三方的 npm 进来的库就是运行不起来。真希望这些问题能早日解决

neozhu avatar Apr 30 '20 09:04 neozhu

我已经劝退了😂,最近换了remax.js使用react开发小程序实在是香啊。

lee88688 avatar May 02 '20 15:05 lee88688

remax.js

我刚刚从angular 转 vue, 开始做微信小程序,现在难道又要学react , 现在做一些普通的手机端的延申应用我现在就推荐用微信小程序,不考虑支持百度,支付宝小程序。

neozhu avatar May 03 '20 11:05 neozhu

@neozhu 我自己也是做vue开发的,react学起来很简单。其实可以考虑直接使用微信小程序的语法开发,我只是觉得他们的语法开发效率低用react会更高一些。

lee88688 avatar May 05 '20 06:05 lee88688

编译的问题会在下一个版本中解决。

对于一些第三方组件编译出现问题时,可以考虑将其放到 static 目录下。 不需编译直接拷贝至输出目录

npm i @vant/weapp
cp -r node_modules/@vant/weapp ./static/@vant/weapp

Gcaufy avatar May 05 '20 10:05 Gcaufy

下一个版本什么时候更新?

Augly avatar Jun 02 '20 12:06 Augly

@Gcaufy 场景1: wepy-cli: 2.0.0-alpha.28 wepy:2.0.0-alpha.16 第三方组件编译解析时,有一部分未被打包进vendor 场景2: wepy-cli: 2.0.0-alpha.20 wepy:2.0.0-alpha.9 hooks报undefined. #2486

目前是很尴尬的局面

老铁没毛病,更新了旧的bug,造成新的bug

DavisYao88 avatar Jun 09 '20 09:06 DavisYao88