Giter Site home page Giter Site logo

cromarmot / kylin-demo-bugs Goto Github PK

View Code? Open in Web Editor NEW
2.0 4.0 2.0 819 KB

alipay mpaas h5 framework kylin-demo bugs

Home Page: https://cromarmot.github.io/kylin-demo-bugs

Makefile 0.06% JavaScript 17.30% Vue 77.23% TypeScript 0.04% CSS 2.71% HTML 0.92% Less 1.08% Shell 0.65%
alipay mpaas kylin kylin-demo bugs h5 vuex vue alipayjsbridge

kylin-demo-bugs's Introduction

H5App Open

命令

  • cnpm install 安装依赖
  • cnpm run dev 启动kylin开发服务器,监听8090端口
  • cnpm run dev:preview 启动kylin开发服务器,并打开chrome
  • cnpm run dev:watch 启动kylin开发模式,但不启动server,会监听构建到./www/目录
  • cnpm run lint eslint standard
  • cnpm run build:debug 不压缩构建到./www/
  • cnpm run build 构建到./www/

Bin

kylin build => ./node_modules/.bin/kylin build

About

CI

基于https://help.aliyun.com/document_detail/87472.html下载的Kylin-demo.zip进行演示

组件文档https://help.aliyun.com/document_detail/72599.html

问题一览

描述 详情和重现方式 临时方案 解决耗时 影响程度
package.json文件依赖书写方式不支持npm和yarn cnpm install能安装依赖,npm iyarn运行报错 只使用cnpm 20201015提出 影响开发工具使用
cnpm 不会生成lock文件 有版本管理风险 运行cnpm i不会生成 暂无 20201015提出 影响开发
kylin提供的mapStateToProps无法同步得到变量修改 相对的 vuex 官方提供的mapState可以做到,localhost:8090/mapStateBug.html 原生vuex的Helper 20201015提出 影响开发
package.json书写不支持package.json默认支持的多版本依赖 见下版本冲突 外层仓库 20201015提出 影响开发
kylin提供的Component导致vue原生$emit不可用(缺少对外的文档支持?) 在Component中带有map映射以后,会无法emit出消息 原生,(最新的文档增加了mapEvents,但是没有相应说明) 20201015提出 影响开发
kylin提供的Component导致官方vue-router的守卫事件不可用 https://router.vuejs.org/guide/advanced/navigation-guards.html#in-component-guards 失效 原生vuex的Helper 20201015提出 影响开发
android 68版本基线升级后,启动mock无法和客户端通讯 android对应基线,运行cnpm run mock:dev,调用ap或AlipayJSBridge的方法 均调用mock兜底,期望没有mock的方法应该走客户端, 见src/pages/mockBug 已解决 20200915提出-20201113解决 影响开发
kylin dependency 书写 无有效的报错提示 dependency 的尾部漏写关闭符合/>写成> 原生 coponents 写法 20201015提出 影响开发
kylin map state/map mutation/map actions映射 无有效的报错提示 map不存在的方法,重复map均无报错 原生vuex的Helper 20201015提出 影响开发
node 12.18.x 运行直接报错 对应node版本,直接运行cnpm i && cnpm run dev node 12.16.1 20201015提出 影响开发
mPaas环境,上包以后fallback资源不删除不更新,下载后的离线包无此问题 新增离线包,增加文件,下架或更新文件后上包,通过链接地址依然访问的是首次上传的资源 保证离线包大小在100k上下,让用户能下载新的离线包 20201015提出 影响测试环节
ios pushWindow参数传递 会对字符转化,安卓正常工作 pages/pushWindowBug,数据有单引号时甚至会整个window.AlipayJSBridgeundefined 手动对可能有'\r\n','\r','\n'的字段进行split分组,不能预防问题(可能还有更多的字符转义),临时方案 BASE64 包裹整个串传递 20201012提出,尚未解决 影响生产,用户感知
无法USB连接,用chrome进行调试 同样的debug安卓包(68基线),usb连接电脑,chrome打开chrome://inspect,在android 10及以下可以看到手机上chrome的标签页和应用内的页面,在android 11上,能看到手机chrome的标签页,看不到应用内的页面 已经解决(https://help.aliyun.com/document_detail/184898.html) 20201027 提出/解决 影响开发
eslint 受到父级文件夹影响? eslint自定义的Components相关书写,没有对应的eslint,prettier等配套工具, 默认的.eslintrc里关掉了no-unused-vars,调为2相关内容会有报错 暂无 20201015提出 影响开发
内网mappcenter.mpaas.com打开网页加载很久 经过排查是加载css和字体耗时导致 利用firefox或chromium的按url屏蔽功能,屏蔽http://at.alicdn.com/https://at.alicdn.com/两个 20201015提出 影响开发
mock模式下无法跨页传参 之前在android的web中通过这样的方式进行跨页传参和获取参数,但在启用mock后,无法传参 暂无,手动写死接受参数的部分 = getPassData() || {...} 20201116提出 影响开发调试
mappcenter.mpaas.com新版右侧弹出界面,在不同包之间切换上包时,存在入口URL不更新导致上包无法打开的问题 暂无准确复现步骤 暂无,出现一个问题解决一个 2021-01-04 影响测试
mappcenter.mpaas.com新版批量上包csv字段校验规则和单个页面填写规则不一致 单独上包时无需填写最高版本 临时方案,最高版本填写99.99.99.99 2021-01-04 影响开发
kylin build 和echarts5.1.2按需引入冲突 见下kylinbuild 全量引入echarts dist(打包体积翻倍) 2021-08-12提出 影响开发

版本冲突

按理说npm本身已经解决了冲突发生,之前具体是那一个会冲突,下面几个依赖需要的时候会和kylin内部(cnpm的问题?)的冲突。

"babel-loader": "^8.1.0",
"webpack": "^4.42.1",

重现步骤

package.json中增加上面两项,执行cnpm run build报错

版本冲突2

在已经安装完依赖的仓库添加vuepress报版本不一致,在清空了node_modules后增加以下两项,安装完后,vuepress能工作,而kylin打包失败

    "vuepress": "^1.8.2",
    "vuepress-plugin-flexsearch": "^0.2.0"

eslint

eslint插件相关问题?

重现步骤

src/pages/eslintBug/demo.sh

curl https://raw.githubusercontent.com/CroMarmot/kylin-demo-bugs/master/src/pages/eslintBug/demo.sh | bash

输入命令

./node_modules/.bin/eslint --ext js --ext vue ./src/pages/eslintBug/components/index-view.vue

期望输出(不应该受到任何上层文件夹的影响)

  34:9  error  'a' is defined but never used  no-unused-vars

实际

  11:10  error  'Component' is defined but never used  no-unused-vars
  19:3   error  'components' is not defined            no-undef
  19:18  error  'PlanCard' is not defined              no-undef
  20:3   error  'data' is not defined                  no-undef
  22:3   error  'filters' is not defined               no-undef
  25:3   error  'watch' is not defined                 no-undef
  28:3   error  'computed' is not defined              no-undef
  31:3   error  'props' is not defined                 no-undef
  34:9   error  'a' is defined but never used          no-unused-vars
  37:3   error  'methods' is not defined               no-undef

mock

修复方案

修改kylin_modules/_alipay_luna-mock/dist/index.jsvar n=/alipayclient/i.test(window.navigator.userAgent)var n=/mpaasclient|alipayclient/i.test(window.navigator.userAgent) 后 重新安装依赖

kylinbuild

重现步骤

  1. 下载官方 kylin-demo.zip
  2. cnpm i
  3. cnpm i echarts --save
  4. 任选vue文件,增加import * as echarts from 'echarts/core'; echarts文档
  5. cnpm run build

报错

js/index.b65afe3.js from UglifyJs
SyntaxError: Unexpected token: string (./lib/export/core) [./~/[email protected]@echarts/core.js:20,0]

重现分支 kylin-build-echarts-5.1.2

软件版本

[email protected] (/home/cromarmot/.npm_global/lib/node_modules/cnpm/lib/parse_argv.js)
[email protected] (/home/cromarmot/.npm_global/lib/node_modules/cnpm/node_modules/npm/lib/npm.js)
[email protected] (/home/cromarmot/.nvm/versions/node/v12.16.1/bin/node)
[email protected] (/home/cromarmot/.npm_global/lib/node_modules/cnpm/node_modules/npminstall/lib/index.js)
prefix=/home/cromarmot/.npm_global
linux x64 5.4.72-microsoft-standard-WSL2
registry=https://registry.nlark.com

kylin-demo-bugs's People

Contributors

cromarmot avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

jzx1230 yiiyun

kylin-demo-bugs's Issues

大佬有没有遇到过/deep/、>>>等深度选择器无法使用的情况?

我使用 npm run dev:preview 在chrome的控制台看,这个/deep/不能被less-loader或者css-loader识别

Code

 .load-more {
    /deep/ .load-top {
        color: red;
    }
 }

Compile

 .load-more /deep/ .load-top[data-v-18dgh9a] {
        color: red;
 }

正常来说应该是这样

.load-more[data-v-18dgh9a] .load-top {
        color: red;
 }

直接下载他的demo 就可以复现 在不进行任何配置的情况下,他的样式穿透是无法使用的,不知道为什么

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.