1. 関連する技術的なポイント
2. 手順vite+ts+vue3 はコマンド1行だけ必要です npm init @vitejs/app my-vue-app --template vue-ts ルートの設定 npm インストール vue-router@4 --save srcの下に新しいルーターディレクトリを作成し、新しいindex.tsファイルを作成します。 「vue-router」から createRouter、createWebHashHistory、RouteRecordRaw をインポートします。 const ルート: Array<RouteRecordRaw> = [ { パス: "/"、 名前: "ホーム", メタ: { タイトル:「ホーム」、 キープアライブ: 真 }, コンポーネント: () => import("../views/Home/index.vue"), }, { パス: "/login", 名前: "ログイン", メタ: { タイトル: 「ログイン」、 キープアライブ: 真 }, コンポーネント: () => import("../views/Login/index.vue"), }, ]; const ルーター = createRouter({ 履歴: createWebHashHistory(), ルート }); デフォルトルーターをエクスポートします。 main.tsにルートをマウントする 'vue' から {createApp} をインポートします。 './App.vue' からアプリをインポートします。 「./router」からルーターをインポートします。createApp(App) .use(ルーター) .mount('#app') データセンター vuex (4.x) を構成するインストール npm i vuex@next --save 構成 srcの下にstoreディレクトリを作成し、storeの下にindex.tsを作成します。 「vuex」から createStore をインポートします。 エクスポートデフォルトcreateStore({ 州: { リストデータ:{1:10}, 番号:10 }, 突然変異: setData(状態、値){ state.listData=値 }, addNum(状態){ 状態.num = 状態.num + 10 } }, アクション: { setData(コンテキスト、値){ context.commit('setData',値) }, }, モジュール: {} }); マウント main.tsにデータセンターをマウントする 'vue' から {createApp} をインポートします。 './App.vue' からアプリをインポートします。 「./router」からルーターをインポートします。 「./store」からストアをインポートします。 アプリを作成します(アプリ) .use(ルーター) .use(ストア) .mount('#app') ヴァント3インストール npm と vant@next -S vite バージョンでは、コンポーネントのオンデマンド読み込みを構成する必要はありません。Vant 3.0 のすべてのモジュールは ESM に基づいて記述されており、当然オンデマンドで導入できる機能がありますが、すべてのスタイルを導入する必要があります 137.2k main.ts でスタイルをグローバルにインポートする 'vue' から {createApp} をインポートします。 './App.vue' からアプリをインポートします。 「./router」からルーターをインポートします。 「./store」からストアをインポートします。 import 'vant/lib/index.css'; // グローバルインポートスタイル createApp(App) .use(ルーター) .use(ストア) .use(アリ) .mount('#app') モバイル端末の適応postcss-pxtoremをインストールする npm インストール postcss-pxtorem -D ルートディレクトリにpostcss.config.jsを作成します。 モジュール.エクスポート = { 「プラグイン」: { "postcss-pxtorem": { ルート値: 37.5, // Vant 公式ルートフォントサイズは 37.5 です プロパティリスト: ['*'], セレクタブラックリスト: ['.norem'] // .norem- で始まるクラスを除外し、rem 変換を実行しません} } } ルート ディレクトリ src の util ディレクトリに新しい rem.ts ファイルを作成します。 // rem 比例適応設定ファイル // 基本サイズ const baseSize = 37.5 // この値は postcss.config.js ファイルの rootValue と一致している必要があることに注意してください // rem 関数を設定する function setRem () { // 現在のページ幅は 375 幅の拡大縮小率を基準としており、必要に応じて変更できます。一般的に、設計図は 750 幅です (設計図を入手して、都合に合わせて変更できます)。 定数スケール = document.documentElement.clientWidth / 375 // ページのルート ノードのフォント サイズを設定します ("Math.min(scale, 2)" は最大拡大率が 2 であることを意味します。実際のビジネス ニーズに応じて調整できます) document.documentElement.style.fontSize = baseSize * Math.min(scale, 2) + 'px' } // setRem() を初期化する // ウィンドウサイズを変更するときに rem をリセットする window.onresize = 関数 () { console.log("実行しました") リセット() } main.ts にインポートする 「./utils/rem」をインポートします ネットワークリクエストaxiosを構成するインストール npm i -s アクシオス Axios を設定する srcにutilsフォルダを作成し、utilsの下にrequest.tsを作成します。 「axios」からaxiosをインポートします。 constサービス = axios.create({ ベースURL、 タイムアウト: 5000 // リクエストタイムアウト }); //リクエストを開始する前のインターセプター service.interceptors.request.use( 設定 => { // トークンがある場合はトークンを繰り越す 定数トークン = window.localStorage.getItem("accessToken"); if (トークン) { config.headers.common.Authorization = トークン; } 設定を返します。 }, エラー => Promise.reject(エラー) ); // レスポンスインターセプター service.interceptors.response.use( レスポンス => { レスポンスデータを返します。 応答ステータスが 200 の場合 Promise.reject(new Error(res.message || "Error")) を返します。 } それ以外 { res を返します。 } }, エラー => { Promise.reject(error) を返します。 } ); デフォルト サービスをエクスポートします。 使用 「../utils/request」からリクエストをインポートします。 リクエスト({url: "/profile ",メソッド: "get"}) .then((res)=>{ コンソール.log(res) }) リクエストエージェントの設定 vite.config.ts 'vite' から {defineConfig} をインポートします '@vitejs/plugin-vue' から vue をインポートします 'path' からパスをインポートします。 // https://vitejs.dev/config/ デフォルトのdefineConfigをエクスポートする({ プラグイン: [vue()], base:"./",//パッケージパス解決: { エイリアス:{ '@': path.resolve(__dirname, './src') //エイリアスを設定} }, サーバー: { port:4000, //ポートオープン開始: true, プロキシ: { // オプションの書き込み '/api': 'http://123.56.85.24:5000'//プロキシ URL}, コア:true } }) 以上で、基本的なモバイル端末開発の構成は完了です。 3. Viteは<script setup>と<style vars>に特に優しい通常の書き込み <script lang="ts"> 「vue」からdefineComponentをインポートします。 「vue-router」から useRouter をインポートします。 エクスポートデフォルトdefineComponent({ 設定() { 定数ルーター = useRouter(); const goLogin = () => { ルーターをプッシュします。 }; 戻り値: { goLogin }; }, }); </スクリプト> <script setup> <script lang="ts" setup="props"> の記述 「vue-router」から useRouter をインポートします。 定数ルーター = useRouter(); const goLogin = () => { ルーターをプッシュします。 }; </スクリプト> もっと簡単じゃないですか? <style vars> の使い方は? <script lang="ts" setup="props"> 定数状態 = リアクティブ({ 色: "#ccc", }); </スクリプト> <スタイル> 。文章 { 色: v-bind("state.color"); } </スタイル> とても簡単です! コード元のアドレス: zhuanlan.zhihu.com/p/351888882 オンラインプレビュー: http://123.56.85.24/vite/#/ コードアドレス: github.com/huoqingzhu/vue3-vite-ts-Vant vitejs 中国語ウェブサイト: https://cn.vitejs.dev/ これで、vite2.0+vue3 モバイル プロジェクトの実践的な詳細に関するこの記事は終了です。vite2.0+vue3 プロジェクトの実践的な内容の詳細については、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Linux コマンドラインのワイルドカードとエスケープ文字の実装
>>: Centos7 で Java8 と MySQL をインストールしてデプロイする
ほとんどのナビゲーション バーは、下の図に示すように水平に配置されていますが、これはどのように実現さ...
1. Redisイメージを取得するdocker pull redis 2. それぞれポート6379、...
インデックスの簡単な紹介は次のとおりです。インデックスを追加する目的は、データベース クエリのパフォ...
今回は、 RNの起動処理を整理しました。最後のstartReactApplication比較的複雑で...
ダウンロードダウンロードアドレス: https://dev.mysql.com/downloads/...
はじめに<br />誰もが高速インターネット接続にアクセスできるわけではありません。たと...
p>「サービス」で手動で起動すると、 コンソールから起動します: 次に、...\MySQL S...
この記事では、タブ切り替えを実装するためのVueの具体的なコードを例として紹介します。具体的な内容は...
ブラウザの互換性は、実際の開発では見落とされがちな最も重要な部分です。古いバージョンのブラウザの互換...
この記事では、Jingdong製品詳細ページの虫眼鏡効果コンポーネントに似たvue3カプセル化の具体...
1. エラーの詳細一度、データベース全体のバックアップを手動で実行したときに、次のエラーが発生しまし...
弊社のプロジェクトは Java で開発され、ミドルウェアは Tomcat でした。運用中に、Tomc...
Sttty は、Linux で端末設定を変更および印刷するための一般的なコマンドです。 1. パラ...
mysql-5.7.20-winx64.zipインストール手順のないインストール パッケージ: ht...
目次1. はじめに2. アイデアファイルをアップロードする2つの方法3. ライフサイクル4. コード...