-
Notifications
You must be signed in to change notification settings - Fork 110
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
feat(plugin-compiler): 新增多端组件构建模式支持 #75
feat(plugin-compiler): 新增多端组件构建模式支持 #75
Conversation
除了以上代码问题之外,还缺少了几个场景的兼容和处理:
其他可能还有未考虑到的场景,可以再综合检查下 |
} | ||
|
||
if ( | ||
Object.prototype.toString.call(componentJson.publicComponents) === |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这里建议更换为 Array.isArray
false | ||
) | ||
} else if ( | ||
Object.prototype.toString.call(componentJson.publicComponents) === |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这里建议更换为 _.isPlainObject
@@ -2497,13 +2610,15 @@ export class EntryBuilder implements SupportExts, EntryBuilderHelpers { | |||
* @param rootDirs - 文件检索根目录, 可选, 默认为 srcPaths | |||
* @param preferRelative - 是否倾向于按照相对目录解析组件 | |||
* @param componentPlaceholder - 占位组件配置 | |||
* @param setCustomEntryName - 是否将 name 作为 customEntryName 传入 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
建议将参数名称更改为:treatComponentNameAsCustomEntryName
参数注释更改为: @param treatComponentNameAsCustomEntryName - 是否将组件名称作为作为自定义 entry 名称,默认为 false
'[object Array]' | ||
) { | ||
// publicComponents 写成数组时 | ||
const publicComponentsMap = new Map() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这里建议修改为: const publicComponentsMap: Record<string, string> = {}
) { | ||
// publicComponents 写成数组时 | ||
const publicComponentsMap = new Map() | ||
;(componentJson.publicComponents as string[]).map((item) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
如果不需要返回值的话,一般建议使用 forEach
true, | ||
{}, | ||
true | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* feat/cjs-to-esm: (229 commits) feat(plugin-compiler): 升级 typescript 5,处理类型相关报错 feat(utils): 删除 cjstoesm 依赖,抽离相关方法 chore(release): publish packages fix(core): 修复 invokeHook 参数 hookName 的类型报错 (eleme#78) feat(runtime-base): 新增 hooks 的 pause、resume 方法,用于暂停/恢复部分 hooks 生命周期的执行 (eleme#77) feat(plugin-compiler): 新增多端组件构建模式支持 (eleme#75) chore(release): publish packages feat(runtime-web): 地图组件支持自定义样式 (eleme#76) fix(runtime-web): 解决 swiper item 数据更新异常以及单个 swiper-item 场景无需 autoplay 的问题 (eleme#74) chore(release): publish packages fix(runtime-web): 修复地图组件 relative 布局错位问题 (eleme#72) chore(release): publish packages feat(runtime-web): caniuse 函数增加部分能力判断 (eleme#71) chore(release): publish packages feat(plugin-compiler): 优化分包和插件编译的 getApp 注入逻辑,避免在支付宝小程序上的 externals 生效问题 (eleme#70) chore(release): publish packages docs(website): 完善多端产物规范 fix(plugin-compiler-web): 修复转 Web 小程序组件库的产物加载入口和文档不一致的问题 chore(release): publish packages feat(runtime-web): 元素获取适配 & 配置读取优先级调整 (eleme#68) ... # Conflicts: # CHANGELOG.md # lerna.json # packages/api/CHANGELOG.md # packages/api/package.json # packages/api/src/api.ts # packages/api/src/index.ts # packages/api/src/moduleManager.ts # packages/cli/CHANGELOG.md # packages/cli/package.json # packages/cli/src/index.ts # packages/cli/src/plugins/autoReloadPlugin.ts # packages/core/CHANGELOG.md # packages/core/package.json # packages/core/src/app.ts # packages/core/src/component.ts # packages/core/src/page.ts # packages/core/src/pageToComponent.ts # packages/core/src/plugin.ts # packages/core/src/plugins/contextPlugin.ts # packages/core/src/plugins/eventPlugin.ts # packages/core/src/utils/init.ts # packages/core/src/utils/invokeHook.ts # packages/core/src/utils/polyfill.ts # packages/create-mor/CHANGELOG.md # packages/create-mor/package.json # packages/plugin-analyzer/CHANGELOG.md # packages/plugin-analyzer/package.json # packages/plugin-compiler-alipay/CHANGELOG.md # packages/plugin-compiler-alipay/package.json # packages/plugin-compiler-alipay/src/runtimeConfig.ts # packages/plugin-compiler-alipay/src/templateProcessorToAlipay.ts # packages/plugin-compiler-baidu/CHANGELOG.md # packages/plugin-compiler-baidu/package.json # packages/plugin-compiler-bytedance/CHANGELOG.md # packages/plugin-compiler-bytedance/package.json # packages/plugin-compiler-bytedance/src/plugin.ts # packages/plugin-compiler-bytedance/src/runtimeConfig.ts # packages/plugin-compiler-dingding/CHANGELOG.md # packages/plugin-compiler-dingding/package.json # packages/plugin-compiler-kuaishou/CHANGELOG.md # packages/plugin-compiler-kuaishou/package.json # packages/plugin-compiler-kuaishou/src/runtimeConfig.ts # packages/plugin-compiler-qq/CHANGELOG.md # packages/plugin-compiler-qq/package.json # packages/plugin-compiler-taobao/CHANGELOG.md # packages/plugin-compiler-taobao/package.json # packages/plugin-compiler-web/CHANGELOG.md # packages/plugin-compiler-web/package.json # packages/plugin-compiler-web/src/compiler/core/axml2/ast/data-binding/index.ts # packages/plugin-compiler-web/src/compiler/core/axml2/babel-helper.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/attributes/AttributeNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/attributes/ClassAttributeNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/attributes/EventAttributeNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/attributes/NamedSlotAttributeNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/attributes/RefAttributeNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/attributes/StyleAttributeNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/BlockNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/CommentNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/ElementNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/ForElementNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/IfElementNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/IncludeNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/SlotNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/SlotScopeNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/TextNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/elements/UseTemplateNode.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/helper-databinding.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/index.ts # packages/plugin-compiler-web/src/compiler/core/axml2/generate/utils.ts # packages/plugin-compiler-web/src/compiler/core/js/component.ts # packages/plugin-compiler-web/src/compiler/core/js/index.ts # packages/plugin-compiler-web/src/index.ts # packages/plugin-compiler-web/src/plugins/bundleOptimizationPlugin.ts # packages/plugin-compiler-web/src/plugins/extractOrInjectCssPlugin.ts # packages/plugin-compiler-wechat/CHANGELOG.md # packages/plugin-compiler-wechat/package.json # packages/plugin-compiler/CHANGELOG.md # packages/plugin-compiler/package.json # packages/plugin-compiler/src/config.ts # packages/plugin-compiler/src/constants.ts # packages/plugin-compiler/src/parsers/scriptParserPlugin.ts # packages/plugin-compiler/src/plugins/runtimeInjectPlugin.ts # packages/plugin-composer/CHANGELOG.md # packages/plugin-composer/package.json # packages/plugin-composer/src/compose.ts # packages/plugin-composer/src/index.ts # packages/plugin-generator/CHANGELOG.md # packages/plugin-generator/package.json # packages/plugin-generator/templates/projects/miniprogram-alipay-ts-sass/package.json # packages/plugin-generator/templates/projects/miniprogram-alipay-ts/package.json # packages/plugin-generator/templates/projects/miniprogram-plugin-alipay-js-less/package.json # packages/plugin-generator/templates/projects/miniprogram-plugin-alipay-js-sass/package.json # packages/plugin-generator/templates/projects/miniprogram-plugin-alipay-js/package.json # packages/plugin-generator/templates/projects/miniprogram-plugin-alipay-ts-less/package.json # packages/plugin-generator/templates/projects/miniprogram-plugin-alipay-ts-sass/package.json # packages/plugin-generator/templates/projects/miniprogram-plugin-alipay-ts/package.json # packages/plugin-generator/templates/projects/miniprogram-plugin-wechat-js-less/package.json # packages/plugin-generator/templates/projects/miniprogram-plugin-wechat-js-sass/package.json # packages/plugin-generator/templates/projects/miniprogram-plugin-wechat-js/package.json # packages/plugin-generator/templates/projects/miniprogram-plugin-wechat-ts-less/package.json # packages/plugin-generator/templates/projects/miniprogram-plugin-wechat-ts-sass/package.json # packages/plugin-generator/templates/projects/miniprogram-plugin-wechat-ts/package.json # packages/plugin-generator/templates/projects/miniprogram-subpackage-alipay-js-less/package.json # packages/plugin-generator/templates/projects/miniprogram-subpackage-alipay-js-sass/package.json # packages/plugin-generator/templates/projects/miniprogram-subpackage-alipay-js/package.json # packages/plugin-generator/templates/projects/miniprogram-subpackage-alipay-ts-less/package.json # packages/plugin-generator/templates/projects/miniprogram-subpackage-alipay-ts-sass/package.json # packages/plugin-generator/templates/projects/miniprogram-subpackage-alipay-ts/package.json # packages/plugin-generator/templates/projects/miniprogram-subpackage-wechat-js-less/package.json # packages/plugin-generator/templates/projects/miniprogram-subpackage-wechat-js-sass/package.json # packages/plugin-generator/templates/projects/miniprogram-subpackage-wechat-js/package.json # packages/plugin-generator/templates/projects/miniprogram-subpackage-wechat-ts-less/package.json # packages/plugin-generator/templates/projects/miniprogram-subpackage-wechat-ts-sass/package.json # packages/plugin-generator/templates/projects/miniprogram-subpackage-wechat-ts/package.json # packages/plugin-generator/templates/projects/miniprogram-wechat-js-less/package.json # packages/plugin-generator/templates/projects/miniprogram-wechat-js-sass/package.json # packages/plugin-generator/templates/projects/miniprogram-wechat-js/package.json # packages/plugin-generator/templates/projects/miniprogram-wechat-ts-less/package.json # packages/plugin-generator/templates/projects/miniprogram-wechat-ts-sass/package.json # packages/plugin-generator/templates/projects/miniprogram-wechat-ts/package.json # packages/plugin-generator/templates/projects/mor-components-library/alipay/package.json.tpl # packages/plugin-generator/templates/projects/mor-components-library/wechat/package.json.tpl # packages/plugin-mocker/CHANGELOG.md # packages/plugin-mocker/package.json # packages/plugin-mocker/src/runtimes/attach.ts # packages/plugin-mocker/src/runtimes/mock.ts # packages/plugin-mocker/src/runtimes/requireContext.ts # packages/runtime-base/CHANGELOG.md # packages/runtime-base/package.json # packages/runtime-mini/CHANGELOG.md # packages/runtime-mini/package.json # packages/runtime-mini/src/alipay/apisToAlipay.ts # packages/runtime-mini/src/alipay/apisToOther.ts # packages/runtime-mini/src/alipay/behaviorToAlipay.ts # packages/runtime-mini/src/alipay/componentToAlipay.ts # packages/runtime-mini/src/alipay/componentToOther.ts # packages/runtime-mini/src/alipay/pageToAlipay.ts # packages/runtime-mini/src/alipay/utilsToAlipay.ts # packages/runtime-mini/src/alipay/utilsToOther.ts # packages/runtime-mini/src/baidu/apis.ts # packages/runtime-mini/src/bytedance/apis.ts # packages/runtime-mini/src/kuaishou/apis.ts # packages/runtime-mini/src/qq/apis.ts # packages/runtime-mini/src/wechat/apis.ts # packages/runtime-web/CHANGELOG.md # packages/runtime-web/package.json # packages/takin/CHANGELOG.md # packages/takin/package.json # packages/utils/CHANGELOG.md # packages/utils/package.json # packages/utils/src/index.ts # packages/utils/src/utils.ts
No description provided.