ホームページ  >  記事  >  ウェブフロントエンド  >  モバイルコンポーネントライブラリcube-uiの使い方を詳しく解説

モバイルコンポーネントライブラリcube-uiの使い方を詳しく解説

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-14 11:05:529246ブラウズ

今回はモバイル コンポーネント ライブラリ cube-ui の使い方について詳しく説明します。モバイル コンポーネント ライブラリ cube-ui を使用する際の 注意事項 は何ですか?実際の事例を見てみましょう。

cube-ui は、Vue.js に基づいて Didi の技術チームによって実装された優れたモバイル コンポーネント ライブラリです。コンポーネントはそれほど多くありませんが、基本的なシナリオには十分です。オープンソースに感謝します。

まずvueプロジェクトを作成します

vue init webpack my-project
cd my-project
npm install
cube-ui をインストールします

npm install cube-ui -S
公式の推奨事項は、コンポーネント モジュールと対応するスタイルをよりエレガントに導入できる babel-plugin-transform-modules プラグインを使用することです。

りー

次に、このプラグインを設定し、.babelrc を変更します: (プラグインに追加)

npm install babel-plugin-transform-modules -D

導入方法1:全てインポート

通常、

エントリーファイルmain.js内:

{
 "plugins": [
 ["transform-modules", {
  "cube-ui": {
  "transform": "cube-ui/lib/${member}",
  "kebabCase": true,
  "style": {
   "ignore": ["create-api", "better-scroll"]
  }
  }
 }]
 ]
}
すべて導入するとグローバル登録に相当し、そのまま利用できるようになります。各 .vue ファイルに { … } (ローカル

参照 ) をインポートする必要はなく、コンポーネント { … } はローカルに登録されます。

導入方法2:オンデマンド導入

import Vue from 'vue'
import Cube from 'cube-ui' // 一般直接放在这个位置
Vue.use(Cube)
注: オンデマンドでインポートする場合、基本スタイル部分はパッケージ化されないため、使用する場合はスタイル モジュールを導入する必要があります。

登録方法グローバル登録またはローカル登録を選択できます:

import {
 /* eslint-disable no-unused-vars */
 Style, // 必需
 Button
} from 'cube-ui'
オンデマンドでインポートできるすべてのコンポーネント:

// 全局注册
Vue.use(Button) // 在入口文件中
// 或者局部注册
// 某个组件中
{
 components: {
 CubeButton: Button
 }
}
create-api モジュールと better-scroll モジュールを導入することもできます:

import {
 Button,
 Checkbox,
 Loading,
 Tip,
 Toast,
 Picker,
 TimePicker,
 Dialog,
 ActionSheet,
 Scroll,
 Slide,
 IndexList
} from 'cube-ui'

import { createAPI, BetterScroll } from 'cube-ui'
ポストコンパイルは使用しないでください

注: webpack 2 以降の cube-ui はデフォルトでポストコンパイルを使用しますが、ポストコンパイルにはいくつかの依存関係と構成が必要です (このページの最後を参照)。ポストコンパイルを使用したくない場合は、直接コンパイルを実行できます。 Webpack 構成を変更します:

<template>
 <cube-button @click="showDiaog">show dialog<cube-button>
</template>
<script>
 export default {
 methods: {
  showDialog() {
  this.$createDialog({
   type: 'alert',
   title: 'Alert',
   content: 'dialog content'
  }).show()
  }
 }
 }
</script>
使用後にコンパイルします

cube-ui が webpack 2+ とペアになっている場合、デフォルトでポストコンパイルが使用されるため、アプリケーションは cube-ui の依存関係および構成と互換性がある必要があります。

1. package.json

// webpack.config.js
module.exports = {
 // ...
 resolve: {
 // ...
 alias: {
  // ...
  'cube-ui': 'cube-ui/lib'
  // ...
 }
 // ...
 }
 // ...
}
を変更します 2. .babelrc を変更し、引き続き babel-plugin-transform-modules に依存します:

{
 // webpack-post-compile-plugin 依赖 compileDependencies
 "compileDependencies": ["cube-ui"],
 "devDependencies": {
 "babel-plugin-transform-modules": "^0.0.2",
 // 新增 stylus 相关依赖 (都需要额外安装:npm install … -D)
 // stylus 类似于 sass,less
 "stylus": "^0.54.5",
 "stylus-loader": "^2.1.1",
 "webpack-post-compile-plugin": "^0.1.2"
 }
}
3. webpack.base.conf.js を変更します

"plugins": [
 ["transform-runtime"],
 ["transform-modules", {
 "cube-ui": {
  // 注意: 这里的路径需要修改到 src/modules 下
  "transform": "./node_modules/cube-ui/src/modules/${member}",
  "kebabCase": true
 }
 }]
]
4. build/utils.js の exports.cssLoaders 関数を変更します

var PostCompilePlugin = require('webpack-post-compile-plugin')
module.exports = {
 // ...
 plugins: [
 // ...
 new PostCompilePlugin()
 ]
 // ...
}
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

単一ページで 2 つの zTree のリンクを実現する方法

nodejs で WeChat 共有機能を呼び出す方法

以上がモバイルコンポーネントライブラリcube-uiの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。