cnpm install
安装依赖cnpm run dev
启动kylin开发服务器,监听8090端口cnpm run dev:preview
启动kylin开发服务器,并打开chromecnpm run dev:watch
启动kylin开发模式,但不启动server,会监听构建到./www/
目录cnpm run lint
eslint standardcnpm run build:debug
不压缩构建到./www/
cnpm run build
构建到./www/
kylin build
=> ./node_modules/.bin/kylin build
基于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 i 和yarn 运行报错 |
只使用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.AlipayJSBridge 为undefined |
手动对可能有'\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
报错
在已经安装完依赖的仓库添加vuepress报版本不一致,在清空了node_modules
后增加以下两项,安装完后,vuepress能工作,而kylin打包失败
"vuepress": "^1.8.2",
"vuepress-plugin-flexsearch": "^0.2.0"
eslint插件相关问题?
重现步骤
或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
修复方案
修改kylin_modules/_alipay_luna-mock/dist/index.js
中var n=/alipayclient/i.test(window.navigator.userAgent)
为var n=/mpaasclient|alipayclient/i.test(window.navigator.userAgent)
后 重新安装依赖
重现步骤
- 下载官方 kylin-demo.zip
cnpm i
cnpm i echarts --save
- 任选vue文件,增加
import * as echarts from 'echarts/core';
echarts文档 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