目次
プロジェクトのステータス
開発コンポーネント
なぜテンプレートを直接記述する必要があるのでしょうか?
コンポーネントを出力する
コンポーネントを使用したフロントエンド
コンポーネントを使用したバックエンド
ホームページ ウェブフロントエンド htmlチュートリアル Vue.js フロントエンドとバックエンドの共通コンポーネント開発経験 - 新人記事_html/css_WEB-ITnose

Vue.js フロントエンドとバックエンドの共通コンポーネント開発経験 - 新人記事_html/css_WEB-ITnose

Jun 24, 2016 am 11:21 AM

プロジェクトのステータス

私はサーバーフレームワークとしてexpressを使用しています。バックグラウンドAPIインターフェイスを呼び出してデータを取得し、そのデータをHTMLにレンダリングするだけです。フロントエンド データとバックエンド データをレンダリングするには、テンプレートのセットを使用するのが最善です。つまり、テンプレートといくつかの単純なコンポーネントは同形であってもかまいません。

サーバー側で vue コンポーネントをレンダリングするには、vue-server プラグインを使用します。使い方はvueと似ています。これの目的は、サーバー側で最初の画面をレンダリングし、ページの表示速度を向上させることです。

開発コンポーネント

サーバーで使用する必要があるため、ノードで読み取れる単一の .vue ファイルを開発する方法が見つからず、一時的に諦めました。また、コンポーネント名をハードコーディングする次の方法は適切ではありません

Vue.component('my-component', { /* ... */ })  //这样写需要引入Vue,但是前后端的Vue不是一个东西
ログイン後にコピー

そこで、次のように単純なコンポーネント オブジェクトのみを出力することにしました。 modal.js

なぜテンプレートを直接記述する必要があるのでしょうか?

回答: インポート方法が 2 つあるため、フロントエンドは問題なくプリコンパイルできますが、バックエンド呼び出し import 'XXX.html' は実行されない可能性があります。

コンポーネントを出力する

#index.js 输出组件的文件import modal from './component/modal/modal'exports.modal = modal
ログイン後にコピー

コンポーネントを使用したフロントエンド

import Vue from 'vue'import {    picker,    modal,    toast,    alert,    preloader,    indicator,    actions,    pullToRefresh,    infiniteScroll} from '../src/index' //使用前端的Vue定义组件和指令的名称Vue.component('picker',picker);Vue.component('modal',modal);Vue.component('toast',toast);Vue.component('alert',alert);Vue.component('preloader',preloader);Vue.component('indicator',indicator);Vue.component('actions',actions)Vue.directive('pull-to-refresh',pullToRefresh)Vue.directive('infinite-scroll',infiniteScroll)
ログイン後にコピー

こうすることで、フロントエンドはこのコンポーネントを通常どおりに使用できるようになります

コンポーネントを使用したバックエンド

import {    picker,    modal,    toast,    alert,    preloader,    indicator,    actions,    pullToRefresh,    infiniteScroll} from '../src/index' let vueServer = require('vue-server') //服务端Vuelet Vue = new vueServer.renderer();//页面模板let tpl = fs.readFileSync(config.PATH_WEBAPP + '/states/index/template.html', 'utf-8');//vue实例vm = new Vue({    replace: false,    template: tpl,    components : {        picker : picker,        modal : modal,        toast : toast,        alert : alert    },    data: {            }});//渲染好html的事件vm.$on('vueServer.htmlReady', function (html) {    res.render('layout', {server_html:html}); //这个html就是vue服务端渲染好的,然后可以通过ejs或者其他模板引擎输出到layout中。});
ログイン後にコピー

ok この一般的なコンポーネントの記述方法は、比較的単純なプロジェクトにのみ適しています。リストやレイアウトなどのページ要素を生成するために一度バインドされるコンポーネントを作成する方が適しています。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

< Progress>の目的は何ですか 要素? < Progress>の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML< Progress>について説明します。要素、その目的、スタイリング、および< meter>との違い要素。主な焦点は、< Progress>を使用することです。タスクの完了と< Meter> statiの場合

HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

< datalist>の目的は何ですか 要素? < datalist>の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML< Datalist>について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

< meter>の目的は何ですか 要素? < meter>の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html< meter>について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化< Meter> < Progress>およびex

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

< iframe>の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? < iframe>の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

この記事では、< iframe>外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLでの開始タグの例は何ですか? HTMLでの開始タグの例は何ですか? Apr 06, 2025 am 12:04 AM

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

See all articles