国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Table des matières
Avant-propos
Introduction
Fonctionnalités
Démarrage rapide
Installation
Intégrer
éléments de configuration
options de l'éditeur
Valeur par défaut
dragDelay
Maison interface Web Voir.js Explication graphique détaillée de la fa?on d'intégrer l'éditeur de code Ace dans un projet Vue

Explication graphique détaillée de la fa?on d'intégrer l'éditeur de code Ace dans un projet Vue

Apr 24, 2023 am 10:52 AM
javascript vue.js


Avant-propos

Dans le processus d'intégration d'Ace, j'ai constaté que les informations trouvées sur Internet sont relativement fragmentées et qu'il existe relativement peu de documents chinois. Cet article les enregistre et les organise principalement pour référence ultérieure

  • Intégrer le. éditeur de code Ace dans le projet Vue
  • Comparaison chinoise des éléments de configuration Ace
  • Pièges?: résoudre le problème de désalignement du curseur de l'éditeur Ace
  • Optimisation?: utiliser les builds ace à la demande

Introduction

Ace est un éditeur de code intégrable écrit en JavaScript. Il correspond aux fonctionnalités et aux performances des éditeurs natifs comme Sublime, Vim et TextMate. Il peut être facilement intégré à n’importe quelle page Web et application JavaScript. Ace est maintenu en tant qu'éditeur principal du Cloud9 IDE et est le successeur du projet Mozilla Skywriter (Bespin).

Fonctionnalités

  • Plus de 110 langues Surlignage de la syntaxe (peut importer TextMate/Sublime Text . tmlangage)
  • Plus de 20 thèmes (peut importer TextMate/Sublime Text .tmtheme file)
  • Indentation et mises à niveau automatiques
  • Une ligne de commande facultative
  • Gestion de documents volumineux (quatre millions de lignes, cela semble être la limite?!)
  • Combinaisons de touches entièrement personnalisables, y compris les modes vim et Emacs
  • Recherche et remplacement à l'aide d'expressions régulières
  • Mettez en surbrillance les parenthèses correspondantes
  • Basculez entre les onglets virtuels et réels
  • Affichez les caractères cachés
  • Faites glisser et déposez le texte avec la souris
  • Retour à la ligne
  • Pliage de code
  • Curseurs et sélections multiples
  • Vérificateur de syntaxe en direct (actuellement JavaScript/CoffeeScript/CSS/XQuery)
  • Couper, copier et coller Fonction

Démarrage rapide

  • Vous pouvez également utiliser vue2-ace-editor directement et suivez les étapes pour l'intégrer
  • Ici, nous enregistrons principalement l'utilisation des ace-builds et emballons vous-même les composants Ace dans le projet

Installation

npm?install?ace-builds?--save-dev復(fù)制代碼

L'effet après l'installation est le suivant?:

Explication graphique détaillée de la fa?on dintégrer léditeur de code Ace dans un projet Vue

Intégrer

Nouveau dossier AceEditor

Explication graphique détaillée de la fa?on dintégrer léditeur de code Ace dans un projet Vue

Dans le fichier AceEditor, créer un nouveau index.vue, le code est le suivant :

<template>
  <div
    ref="editorform"
   
    style="height: 250px"
  >
  </div>
</template>

<script>
import ace from &#39;ace-builds&#39;
import &#39;./webpack-resolver&#39; // 自定義webpack-resolver,按需引入
import &#39;ace-builds/src-noconflict/mode-json&#39;
import &#39;ace-builds/src-noconflict/mode-mysql&#39;
import &#39;ace-builds/src-noconflict/mode-text&#39;
import &#39;ace-builds/src-noconflict/theme-tomorrow&#39;
import &#39;ace-builds/src-min-noconflict/ext-language_tools&#39;
import { onMounted, onBeforeUnmount, ref, watch } from &#39;@vue/composition-api&#39;

export default {
  name: &#39;AceEditor&#39;,
  emits: [&#39;onChange&#39;],
  props: {
    value: {
      type: String,
      default: &#39;&#39;,
    },
    // 這里可以接收更多組件傳遞的參數(shù),做一些自定義效果
  },
  setup(props, vm) {
    let editor = null
    const editorform = ref(null)
    let options = {
      theme: &#39;ace/theme/tomorrow&#39;, // 主題
      mode: &#39;ace/mode/mysql&#39;, // 代碼匹配模式
      tabSize: 2, //標(biāo)簽大小
      fontSize: 14, //設(shè)置字號(hào)
      wrap: true, // 用戶輸入的sql語(yǔ)句,自動(dòng)換行
      enableSnippets: true, // 啟用代碼段
      showLineNumbers: true, // 顯示行號(hào)
      enableLiveAutocompletion: true, // 啟用實(shí)時(shí)自動(dòng)完成功能 (比如:智能代碼提示)
      enableBasicAutocompletion: true, // 啟用基本自動(dòng)完成功能
      scrollPastEnd: true, // 滾動(dòng)位置
      highlightActiveLine: true, // 高亮當(dāng)前行
    }

    const init = () => {
      if (editor) {
        //實(shí)例銷毀
        editor.destroy()
      }
      //初始化
      editor = ace.edit(editorform.value, options)
      editor.setValue(props.value ? props.value : &#39;&#39;) // 設(shè)置內(nèi)容
      editor.on(&#39;change&#39;, () => {
        vm.emit(&#39;onChange&#39;, editor.getValue())
      })
    }
    
    onMounted(() => {
      init()
    })
    
    onBeforeUnmount(() => {
      editor.destroy()
      editor.container.remove()
    })
    return {
      editorform
    }
  },
}
</script>

<style>
@import &#39;~ace-builds/css/ace.css&#39;;
</style>

A propos de l'optimisation de webpack-resolver.js

Dans l'environnement webpack , webpack-resolver.js doit être importé. Jetons d'abord un coup d'?il au fichier node_modules/ace-builds/webpack-resolver.js. La plupart des modules qu'il contient ne sont pas utilisés par nous. augmentera considérablement le co?t. La taille du package du projet, nous devons donc optimiser ici : Introduire sur demandeExplication graphique détaillée de la fa?on dintégrer léditeur de code Ace dans un projet VueDans le fichier AceEditor, créez un nouveau webpack-resolver.js, le code est le suivant :

ace.config.setModuleUrl(&#39;ace/mode/mysql&#39;, require(&#39;file-loader?esModule=false!ace-builds/src-noconflict/mode-mysql.js&#39;))
ace.config.setModuleUrl(&#39;ace/mode/text&#39;, require(&#39;file-loader?esModule=false!ace-builds/src-noconflict/mode-text.js&#39;))
ace.config.setModuleUrl(&#39;ace/mode/json&#39;, require(&#39;file-loader?esModule=false!ace-builds/src-noconflict/mode-json.js&#39;))
ace.config.setModuleUrl(&#39;ace/theme/tomorrow&#39;, require(&#39;file-loader?esModule=false!ace-builds/src-noconflict/theme-tomorrow.js&#39;))
ace.config.setModuleUrl(&#39;ace/ext/language_tools&#39;, require(&#39;file-loader?esModule=false!ace-builds/src-noconflict/ext-language_tools.js&#39;))

Dans le répertoire src du projet, créez un nouveau registerAce.js

import ACE from &#39;@/components/AceEditor&#39; // 這里是你創(chuàng)建的AceEditor文件夾的路徑
 
export default {
  install(Vue) {
    Vue.component(&#39;ace&#39;, ACE)
  },
}

Introduisez le module Ace dans le fichier d'entrée main.js du projet Vue, et Vue.use() pour enregistrer globalement le composant ace

import ace from &#39;ace-builds&#39;
import RegistAce from &#39;./registAce&#39;

Vue.use(ace)
Vue.use(RegistAce)

Utilisez l'as composant (composant global)

<ace v-model="content" @onChange="onChange"> </ace>

Ce qui précède complète l'intégration simple d'Ace dans le projet Vue Pour plus de fonctions, veuillez vous référer au site officiel : Site officiel d'Ace

éléments de configuration

Wiki du site officiel : github. .com/ajaxorg/ace…

Composants principaux d'Ace (éditeur, session, rendu, mouseHandler ) implémentez l'interface optionProvidereditor, session, renderer, mouseHandler) implement optionProvider interface

setOption(optionName, optionValue)
setOptions({
    optionName : optionValue
    ...
})
getOption(optionName)
getOptions()

以下是配置選項(xiàng)的列表。除非另有說(shuō)明,否則選項(xiàng)值為布爾值。

editor.setOption也會(huì)修改session/renderer/$mouseHandlerrrreee

Ce qui suit est une liste d'options de configuration. Sauf indication contraire, les valeurs des options sont booléennes. ????editor.setOption modifiera également les options associées à session/renderer/$mouseHandler??
options de l'éditeur
fauxtoujoursfusion Annuler behaviorsEnabledBooleantrue-Enable behaviorswrapBehaviorsEnabledBooleantrue- Activer le retour à la ligneautoScrollEditorIntoViewBooleanfalse -Activer le défilementcopyWithEmptySelectionBooleantrue -Copier les espacesuseSoftTabsBooleanfal se-Utiliser les onglets souplesnavigateWithinSoftTabs Boolean false-soft tag jumpenableMultiselectBooleanfalse-select multiple placesNom de l'optionType de valeur
nom de l'option type de valeur valeur par défaut valeur facultative fonction
selectionStyle String texte ligne | texte Sélectionnez le style
highlightActiveLine Boolean true - Surligner la ligne actuelle
highlightSelectedWord Boolean true - Surligner le texte sélectionné
readOnly Boolean false - Qu'il soit en lecture seule
cursorStyle String ace ace slim |
options de rendu
Valeur par défaut
Valeur facultativeFonctionhScrollBarAlwaysVisibleBooleanfalse-La barre de défilement verticale est toujours visiblevScrollBarAlways VisibleBooleanfalse- La barre de défilement horizontale est toujours visible. -Animation de défilementshowInvisibles Boolean false-Afficher les caractères invisiblesshowPrintMarginBooleantrue-Afficher les marges d'impressionprintMarginColumn Numéro80-Marges de la page Paramètres printMarginBoolean | Numberfalse-Afficher et définir les margesfadeFoldWidgetsBooleanfalse- Fade FoldWidgetsshowFoldWidgets Boolean true-Afficher les widgets pliésshowLineNumbersBooleantrue-Afficher les numéros de ligneshowGutter Booleantrue-Afficher la zone du numéro de lignedisplayIndentGuidesBooleantrue-Guides d'affichagefontSizeNumber | Stringinherit-Définir la taille de la policefontFamilyString hériter--Boolean | Number0-Position du défilementfixedWidthGutterBooleanfalse-Zone de numéro de ligne fixe largeur thèmeString- -Chemin de référence du thème, tel que "ace/theme/textmate"Nom de l'optionType de valeurValeur par défautValeur facultativeRemarques scrollSpeedNumber--vitesse de défilement
Définir la police maxLines Number
- au nombre de lignes minLines Number
- Au moins nombre de lignes scrollPastEnd
mouseHandler options
dragDelay
Number--drag delaydragEnabledBooleantrue - Indique si le glissement est activéfocusTimoutNumber--Focus TimeouttooltipFollowsMouseBooleanfalse - Conseils pour la sourisOptions de session
-
Numéro de la ligne de départoverwrite --- ---options d'édition définies par les extensionsActiver la saisie semi-automatique de base
overwrite Boolean - -
newLineMode String auto auto | unix | Ouvrier Booléen
- utiliser des objets d'assistance utiliserSoftTabs Boolean
- utiliser des onglets souples tabSize Number
- Taille de l'étiquette wrap Booléen
- line wrap foldStyle String
markbegin | manuel folding style mode Str ing
- Correspondance des codes motif, tel que "ace/mode/text"
Nom de l'option Type de valeur Valeur par défaut Valeur facultative Remarques
activer la complétion automatique de base Boolean - -
enableLiveAutocompletionBooleanBoolean---Résolvez le problème de désalignement du curseurLors de la saisie de contenu dans l'éditeur, un problème de désalignement du curseur se produira. Cela semble normal au début. Plus vous saisissez de contenu, plus vous constaterez de désalignement du curseur. Après le dépannage, vous avez constaté que cela était d? à l'utilisation de Non. -police monowidth, ce qui entra?ne des calculs inexacts. Définissez la police dans la zone d'édition sur pour résoudre le problème??Remarque?: il y a un petit trou ici. Vous devez faire la distinction entre Mac lors de la définition de la police monospace. , WindowsSite Web de référence/code sourceAce site officiel vue2-ace-editor
- - Activer la saisie semi-automatique en direct enableSnippets
- Activer snippets enableEmmet Boolean
- Activer Emmet useElasticTabstops Boolean
- Utilisez des taquets de tabulation flexibles
Police monospace Vous pouvez utiliser la police monospace sous Windows Vous pouvez utiliser la police Consolas sous Windows

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276
Tutoriel JavaScript simple?:?Comment obtenir le code d'état HTTP Tutoriel JavaScript simple?:?Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Vue.js vs react: Considérations spécifiques au projet Vue.js vs react: Considérations spécifiques au projet Apr 09, 2025 am 12:01 AM

Vue.js convient aux projets de petite et moyenne taille et aux itérations rapides, tandis que React convient aux applications grandes et complexes. 1) Vue.js est facile à utiliser et convient aux situations où l'équipe est insuffisante ou l'échelle du projet est petite. 2) React a un écosystème plus riche et convient aux projets avec des performances élevées et des besoins fonctionnels complexes.

Comment obtenir facilement le code d'état HTTP en JavaScript Comment obtenir facilement le code d'état HTTP en JavaScript Jan 05, 2024 pm 01:37 PM

Introduction à la méthode d'obtention du code d'état HTTP en JavaScript : Dans le développement front-end, nous devons souvent gérer l'interaction avec l'interface back-end, et le code d'état HTTP en est une partie très importante. Comprendre et obtenir les codes d'état HTTP nous aide à mieux gérer les données renvoyées par l'interface. Cet article explique comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournit des exemples de code spécifiques. 1. Qu'est-ce que le code d'état HTTP ? Le code d'état HTTP signifie que lorsque le navigateur lance une requête au serveur, le service

Vue.js est-il difficile à apprendre? Vue.js est-il difficile à apprendre? Apr 04, 2025 am 12:02 AM

Vue.js n'est pas difficile à apprendre, en particulier pour les développeurs avec une fondation JavaScript. 1) Sa conception progressive et son système réactif simplifient le processus de développement. 2) Le développement basé sur les composants rend la gestion du code plus efficace. 3) Les exemples d'utilisation montrent une utilisation de base et avancée. 4) Les erreurs courantes peuvent être déboguées via Vuedevtools. 5) L'optimisation des performances et les meilleures pratiques, telles que l'utilisation des attributs V-IF / V et clés, peuvent améliorer l'efficacité de l'application.

Vue est-elle utilisée pour le frontend ou le backend? Vue est-elle utilisée pour le frontend ou le backend? Apr 03, 2025 am 12:07 AM

Vue.js est principalement utilisé pour le développement frontal. 1) Il s'agit d'un cadre JavaScript léger et flexible axé sur la construction d'interfaces utilisateur et d'applications à une seule page. 2) Le c?ur de Vue.js est son système de données réactif, et la vue est automatiquement mise à jour lorsque les données changent. 3) Il prend en charge le développement des composants et l'interface utilisateur peut être divisée en composants indépendants et réutilisables.

Vue.js: définir son r?le dans le développement Web Vue.js: définir son r?le dans le développement Web Apr 18, 2025 am 12:07 AM

Le r?le de Vue.js dans le développement Web est d'agir comme un cadre JavaScript progressif qui simplifie le processus de développement et améliore l'efficacité. 1) Il permet aux développeurs de se concentrer sur la logique métier grace à la liaison réactive des données et au développement des composants. 2) Le principe de travail de Vue.js s'appuie sur des systèmes réactifs et un Dom virtuel pour optimiser les performances. 3) Dans les projets réels, il est courant d'utiliser Vuex pour gérer l'état mondial et optimiser la réactivité des données.

Vue.js et la pile frontale: comprendre les connexions Vue.js et la pile frontale: comprendre les connexions Apr 24, 2025 am 12:19 AM

Vue.js est étroitement intégré à la pile de technologies frontales pour améliorer l'efficacité du développement et l'expérience utilisateur. 1) Outils de construction: intégrer avec WebPack et Rollup pour réaliser un développement modulaire. 2) Gestion de l'état: intégrer à Vuex pour gérer l'état de l'application complexe. 3) Routage: intégrer à VUerouter pour réaliser le routage des applications à une seule page. 4) Prérocesseur CSS: prend en charge le SASS et moins pour améliorer l'efficacité de développement du style.

Vue.js vs React: Comparaison des performances et de l'efficacité Vue.js vs React: Comparaison des performances et de l'efficacité Apr 28, 2025 am 12:12 AM

Vue.js et réagir ont chacun leurs propres avantages: Vue.js convient aux petites applications et à un développement rapide, tandis que React convient aux grandes applications et à la gestion complexe de l'état. 1.vue.js réalise la mise à jour automatique via un système réactif, adapté aux petites applications. 2.React utilise des algorithmes Virtual DOM et Diff, qui conviennent aux applications grandes et complexes. Lors de la sélection d'un cadre, vous devez considérer les exigences du projet et la pile de technologie d'équipe.

See all articles