Heim  >  Artikel  >  Web-Frontend  >  Ausführliche Erläuterung der Verwendung der mobilen Komponentenbibliothek Cube-UI

Ausführliche Erläuterung der Verwendung der mobilen Komponentenbibliothek Cube-UI

php中世界最好的语言
php中世界最好的语言Original
2018-04-14 11:05:529246Durchsuche

Dieses Mal erkläre ich Ihnen ausführlich die Verwendung der mobilen Komponentenbibliothek Cube-UI. Was sind die Vorsichtsmaßnahmen bei der Verwendung der mobilen Komponentenbibliothek Cube-UI? ein Blick.

cube-ui ist eine exquisite Bibliothek mobiler Komponenten, die von Didis technischem Team auf Basis von Vue.js implementiert wurde. Es ist großartig, obwohl es nicht viele Komponenten gibt, aber für grundlegende Szenarien reicht es aus.

Erstellen Sie zunächst ein Vue-Projekt

vue init webpack my-project
cd my-project
npm install

Cube-ui installieren

npm install cube-ui -S

Die offizielle Empfehlung lautet, das Plug-In babel-plugin-transform-modules zu verwenden, mit dem Komponentenmodule und entsprechende Stile eleganter eingeführt werden können.

npm install babel-plugin-transform-modules -D

Konfigurieren Sie dann dieses Plugin und ändern Sie .babelrc: (zu Plugins hinzufügen)

{
 "plugins": [
 ["transform-modules", {
  "cube-ui": {
  "transform": "cube-ui/lib/${member}",
  "kebabCase": true,
  "style": {
   "ignore": ["create-api", "better-scroll"]
  }
  }
 }]
 ]
}

Einführungsmethode 1: Alle importieren

Im Allgemeinen in der Eintragsdatei main.js:

import Vue from 'vue'
import Cube from 'cube-ui' // 一般直接放在这个位置
Vue.use(Cube)

Nachdem alles eingeführt wurde, entspricht es der globalen Registrierung und kann direkt verwendet werden. Es ist nicht erforderlich, { … } (lokal bezieht sich auf ) in jede .vue-Datei zu importieren, und Komponenten{ … } werden lokal registriert.

Einführungsmethode 2: On-Demand-Einführung

import {
 /* eslint-disable no-unused-vars */
 Style, // 必需
 Button
} from 'cube-ui'

Hinweis: Beim Importieren bei Bedarf wird der grundlegende Stilteil nicht gepackt, daher müssen Sie bei der Verwendung das Stilmodul einführen.

Registrierungsmethode Sie können zwischen globaler Registrierung und teilweiser Registrierung wählen:

// 全局注册
Vue.use(Button) // 在入口文件中
// 或者局部注册
// 某个组件中
{
 components: {
 CubeButton: Button
 }
}

Alle Komponenten, die bei Bedarf importiert werden können:

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

Sie können auch Create-API- und Better-Scroll-Module einführen:

import { createAPI, BetterScroll } from 'cube-ui'

Beispiel

<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>

Verwenden Sie kein Post-Compile

Hinweis: Cube-UI mit Webpack 2+ verwendet standardmäßig die Nachkompilierung, die Nachkompilierung erfordert jedoch einige Abhängigkeiten und Konfigurationen (siehe Ende dieser Seite). Wenn Sie die Nachkompilierung nicht verwenden möchten, können Sie dies direkt tun Ändern Sie die Webpack-Konfiguration:

// webpack.config.js
module.exports = {
 // ...
 resolve: {
 // ...
 alias: {
  // ...
  'cube-ui': 'cube-ui/lib'
  // ...
 }
 // ...
 }
 // ...
}

Nach Gebrauch kompilieren

Wenn Cube-UI mit Webpack 2+ gekoppelt ist, wird standardmäßig die Nachkompilierung verwendet, daher muss die Anwendung mit den Abhängigkeiten und der Konfiguration von Cube-UI kompatibel sein.

1. Ändern Sie package.json

{
 // 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"
 }
}

2. Ändern Sie .babelrc und verlassen Sie sich weiterhin auf babel-plugin-transform-modules:

"plugins": [
 ["transform-runtime"],
 ["transform-modules", {
 "cube-ui": {
  // 注意: 这里的路径需要修改到 src/modules 下
  "transform": "./node_modules/cube-ui/src/modules/${member}",
  "kebabCase": true
 }
 }]
]

3. Ändern Sie webpack.base.conf.js

var PostCompilePlugin = require('webpack-post-compile-plugin')
module.exports = {
 // ...
 plugins: [
 // ...
 new PostCompilePlugin()
 ]
 // ...
}

4. Ändern Sie die Funktion exports.cssLoaders in build/utils.js

exports.cssLoaders = function (options) {
 // ...
 const stylusOptions = {
 'resolve url': true
 }
 // https://vue-loader.vuejs.org/en/configurations/extract-css.html
 return {
 css: generateLoaders(),
 postcss: generateLoaders(),
 less: generateLoaders('less'),
 sass: generateLoaders('sass', { indentedSyntax: true }),
 scss: generateLoaders('sass'),
 stylus: generateLoaders('stylus', stylusOptions),
 styl: generateLoaders('stylus', stylusOptions)
 }
}

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Wie man die Verknüpfung zweier zTree auf einer einzigen Seite realisiert

Wie man den WeChat aufruft Sharing-Funktion in NodeJS

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Verwendung der mobilen Komponentenbibliothek Cube-UI. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn