自定义组件互转

okam-plugin-wx2swan

当在百度小程序中想引入已有的微信小程序自定义时组件时 ,可通过引入及配置此插件来进行转换,其中,微信小程序自定义组件可为 微信官方支持的开发第三方自定义组件,
也可为常规的 npm 包的写法;

!> 限制:在百度小程序中引入微信自定义组件,不支持 wxs模板引用,只做了语法上的转换;swan框架、API和组件功能上的差异,待原生小程序层支持中

安装

npm install okam-plugin-wx2swan --save-dev

配置

swan.config.js 加上如下配置:

  1. {
  2. processors: {
  3. // babel: {
  4. // extnames: ['js']
  5. // },
  6. wx2swan: {
  7. // 注册 及 配置 wxml、wxss 文件转换
  8. extnames: ['wxml', 'wxss']
  9. }
  10. },
  11. rules: [
  12. {
  13. // 配置 js 文件转换
  14. match(file) {
  15. return file.isNpmWxCompScript;
  16. },
  17. processors: ['wx2swan']
  18. }
  19. ]
  20. }

引用

page 中的引入方式和其他自定义组件引入相同;

  1. node_modules
  2. min-components
  3. ├── components
  4. ├── one
  5. ├── comp.js comp 组件逻辑
  6. ├── comp.json comp 组件配置
  7. ├── comp.wxml comp 组件结构
  8. └── comp.wxss comp 组件样式
  9. └── another
  10. ├── comp.js comp 组件逻辑
  11. ├── comp.json comp 组件配置
  12. ├── comp.wxml comp 组件结构
  13. └── comp.wxss comp 组件样式
  14. ├── index.js
  15. └── package.json 包的相关配置: name main
  16. src
  17. ├── components
  18. └── Hello.okm Hello 组件逻辑、配置、结构、样式
  19. ├── pages
  20. ├── home
  21. └── index.okm index 页面逻辑、配置、结构、样式
  22. └── other
  23. ├── detail1.okm detail1 页面逻辑、配置、结构、样式
  24. └── detail2.okm detail2 页面逻辑、配置、结构、样式
  25. ├── app.js 小程序逻辑、公共配置
  26. └── app.css 小程序公共样式

index.okm 引入 node_modules 中的组件
假设包名:min-components ,入口文件为 index.js

  1. <template>
  2. <view class="comp-page">
  3. <view class="title">原生自定义组件引入</view>
  4. <origin-npm-wx-comp out-text="百度小程序中依赖 min-componen 中的微信原生的组件">
  5. </origin-npm-wx-comp>
  6. </view>
  7. </template>
  8. <script>
  9. import OriginNpmWXComp from 'min-component/components/one/comp';
  10. export default {
  11. config: {
  12. navigationBarTitleText: '自定义组件示例'
  13. },
  14. components: {
  15. OriginNpmWXComp
  16. },
  17. data: {
  18. },
  19. methods: {
  20. }
  21. };
  22. </script>
  23. <style lang="css">
  24. </style>