如果用到的Taro对象怎么办?
elvinzhu opened this issue · 3 comments
elvinzhu commented
我的组件 需要使用 Taro 对象,该如何构建才能再 h5 和 weapp 中运行?
import Taro from '@tarojs/taro';
因为 @tarojs/taro
在 h5 下需要替换成 @tarojs/taro-h5
才行,但是 taro cli 编译过程中,把 node_modules 中非包含 ‘taro’ 关键字的的包排除了, 导致第三方包没有被替换,运行就会报错。
个人觉得有两种方案:
@tarojs/taro
编译阶段动态根据平台引用@tarojs/taro-h5
- 编译过程不要把 node_modules 中的排除,或者加配置项,有选择地包含
- 提供类似 2.0 时代的 ui 编译命令
Chen-jj commented
由 webpack mainFields 决定的,@tarojs/taro
指向的 main-h5
导出引用的就是 @tarojs/taro-h5
包。
CLI 排除的只是非 'taro' 关键词的包不走 babel-loader
而已(这个你也可以配 webpack chain 改一下 bable-loader 的参数,让它编译特定的包),和 webpack resolve 应该没关系。
Alice-Qian commented
这个具体的配置怎么配置?有点没看懂
Murphycx94 commented
我也遇到了,改了bable-loader之后引用其他文件的时候会出错
目前只能在调用的时候传入Taro