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

fix(cli): 微信小程序循环依赖支持alias替换 #4132

Closed
wants to merge 1 commit into from
Closed

fix(cli): 微信小程序循环依赖支持alias替换 #4132

wants to merge 1 commit into from

Conversation

guxingke201
Copy link
Contributor

这个 PR 做了什么? (简要描述所做更改)

#4056

这个 PR 是什么类型? (至少选择一个)

  • 错误修复(Bugfix) issue id #
  • 新功能(Feature)
  • 代码重构(Refactor)
  • TypeScript 类型定义修改(Typings)
  • 文档修改(Docs)
  • 代码风格更新(Code style update)
  • 其他,请描述(Other, please describe):

这个 PR 满足以下需求:

  • 提交到 master 分支
  • Commit 信息遵循 Angular Style Commit Message Conventions
  • 所有测试用例已经通过
  • 代码遵循相关包中的 .eslintrc, .tslintrc, .stylelintrc 所规定的规范
  • 在本地测试可用,不会影响到其它功能

这个 PR 涉及以下平台:

  • 微信小程序
  • 支付宝小程序
  • 百度小程序
  • 头条小程序
  • QQ 轻应用
  • 快应用平台(QuickApp)
  • Web 平台(H5)
  • 移动端(React-Native)

其它需要 Reviewer 或社区知晓的内容:

@luckyadam
Copy link
Member

这个是解决什么问题

@guxingke201
Copy link
Contributor Author

看issue....
这个 PR 做了什么? (简要描述所做更改)

#4056

@guxingke201
Copy link
Contributor Author

guxingke201 commented Aug 12, 2019

公司内部自研了一个请求库依赖axios,引入后构建小程序报异常
image

定位到axios的文件./adapters/http里使用了node的内置库
image

按taro的设计,想到通过别名替换的方式来解决这个问题,但是taro的别名替换没处理这种替换场景,所以就有这个pr了。
'./adapters/http': path.resolve(__dirname, '..', 'node_modules/axios-miniprogram-adapter/dist')

@guxingke201
Copy link
Contributor Author

@luckyadam @Littly 可以合并吗?

@jinjinjin0731
Copy link
Contributor

这个是别名的问题吗。。。 axios-miniprogram-adapter 这个库的官方推荐写法可是

import axios from 'axios'
import mpAdapter from 'axios-miniprogram-adapter'
axios.defaults.adapter = mpAdapter

这样的方式去兼容小程序的。 而不是你直接给改源码引用路径

@guxingke201
Copy link
Contributor Author

guxingke201 commented Aug 15, 2019

@jinjinjin0731 官方给的是在微信小程序里用,不是taro脚手架,使用taro脚手架肯定会报异常的,上面已经截图了,不信可以自己试试

@jinjinjin0731
Copy link
Contributor

那你在 Taro 环境下 import axios from 'axios/dist/axios' , 这样应该不会报错吧

@guxingke201
Copy link
Contributor Author

没办法这么引入,公司内部封装的库依赖axios,要兼容node端,这个dist是给web用的,node用不了

@guxingke201
Copy link
Contributor Author

这个pr有什么问题吗?为何不能合并?

@guxingke201
Copy link
Contributor Author

guxingke201 commented Aug 15, 2019

@jinjinjin0731 @luckyadam web生态的npm库,肯定会经常需要做替换来兼容小程序,这个需求还是有的。
此外webpack的alien是支持这种场景别名替换的,所以小程序合并这个pr也支持下很合理的

@guxingke201
Copy link
Contributor Author

@luckyadam @jinjinjin0731 大概什么时候能确认下合不合并?

@fjc0k
Copy link
Contributor

fjc0k commented Aug 26, 2019

我觉得可以合并。这是我写的 taro-axios,起因也是因为 Taro 不支持解析 package.json 里的 browser 属性,导致所有用了 browser 特性的包都大概率会出问题。

@guxingke201
Copy link
Contributor Author

guxingke201 commented Aug 27, 2019

已经fork回公司内网,合不合不急了,但还是希望合并进来。
最近领导在关注remax,搞不好将来会放弃taro

@yuche
Copy link
Contributor

yuche commented May 7, 2020

现在已经换成 webpack 了,抱歉拖了那么久

@yuche yuche closed this May 7, 2020
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

Successfully merging this pull request may close these issues.

5 participants