Awen
Awen
观察到这几个函数是babel把es6转译成es5时候注入的helper函数,一般web项目通过`@babel/plugin-transform-runtime`这个插件去解决重复注入helper函数的问题。想问一下**组件开发**功能目前是否有不开启es6转es5配置项?微信小程序开发者工具目前自带有es6转es5功能,同时也内置了`@babel/plugin-transform-runtime`插件,如果把转译任务交给微信开发者工具或许是一个好的解决方案。
example: ``` const tree = dependencyTree({ filename: `xxx/index.tsx`, directory: `xxx/src`, filter: (path) => path.indexOf("node_modules") === -1, webpackConfig: { resolve: { extensions: [".js", ".jsx", ".tsx", ".ts"], }, } }); ```
@ChrisCindy 麻烦看一下这样处理是否会对其他工程造成影响,有明确的方案后我这边会提交一个pr
eventList的scope中包含了bus,bus中又有eventList,对象内部出现了重复引用,在原生小程序里面应该没有问题,在类Vue和react框架中会导致diff算法直接卡死,scope的使用频率也高,看了很久都没找到合适解决方案。
> 微信小程序插件是互相隔离的吧 确定多个插件能共享npm依赖吗? 如果把一个插件视作一个分包(非主包),分包之间的资源不能共享。但不同分包都能使用主包的资源,从这个角度看分包能共享npm依赖。也就是当npm依赖放在主包中加载时,各个分包都能访问到。写了个简单的demo,链接贴在下面。目前rax.js的插件开发功能的产物中依赖引用也是通过npm方式引入的,希望uni-app也能做类似支持。 **相关链接** [微信小程序分包资源引用规则](https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages/basic.html) [小程序分包引用主包npm资源demo](https://github.com/Awen-hub/miniprogram-npm-demo) [rax.js插件开发文档](https://rax.js.org/docs/guide/com-dev)
> 描述的不太清晰,你指的是分包,不是插件吧?概念最好清晰一点,你说的是,使用uni-app开发分包,然后集成到原生小程序?希望共享vue? 昨天看了一下插件开发和混合开发两个示例的demo,发现产物形式差不多所以把两个概念混淆了,抱歉给你造成了混乱。你说的是对的,不仅仅是vue,也可能有另外一些体积比较大的npm包。目前来看至少vue做成公共依赖就能节省较多的体积了。
> > > 描述的不太清晰,你指的是分包,不是插件吧?概念最好清晰一点,你说的是,使用uni-app开发分包,然后集成到原生小程序?希望共享vue? > > > > > > 昨天看了一下插件开发和混合开发两个示例的demo,发现产物形式差不多所以把两个概念混淆了,抱歉给你造成了混乱。你说的是对的,不仅仅是vue,也可能有另外一些体积比较大的npm包。目前来看至少vue做成公共依赖就能节省较多的体积了。 > > 了解了,我们后续会评估下 非常感谢,辛苦了。其实从我的角度出发,更期待uni-app能出一个把“vue组件”直接编译成“微信小程序原生自定义组件”的功能,类似上面提到的[rax.js组件开发功能](https://rax.js.org/docs/guide/com-dev)。基于自定义组件的形式嵌入到旧有的原生小程序项目会比当前基于分包去嵌入更加灵活和方便。
请问关于这个issue有新的进展吗?
Great. It works after I delete the accessor. Hhh, don't worry and it works smoothly. It is the only range-slider component with Histogram I can find. Thanks a lot.
It's really strange because the error exists when I included `"d3": "5.15.1"` in package.json as you do. [Here is the example](https://stackblitz.com/edit/data-driven-range-slider-react-integration-tzy9xz?file=package.json,index.js)