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 をインストールしてデプロイする
Dockerコンテナのインストール時に遭遇しやすい2つの問題1.ポートはすでに割り当てられています(...
場合によっては、ユーザーがボタンをクリックして同様のフォームを追加し、クリックごとに 1 回追加でき...
まず、完成した効果をお見せしましょう 主なアイデア: 実際、このブラインドは一種の手品を使用していま...
今日は仮想マシンを使って実験をしました。システムをインストールし、いくつかのオプションを最適化した後...
何もすることがなかったので、学習用に最も安いAlibaba Cloudサーバーを購入しました。年間3...
多くの場合、画像をコンテナのサイズに合わせて調整する必要があります。 1. imgタグ方式幅と高さを...
目次序文テーブル コンポーネントをカプセル化する必要があるのはなぜですか?ステップ1: 共通コンポー...
今日、ディスクアラーム例外を受け取りました。50G ディスクが爆発しました。分析と解決のプロセスは次...
1. インストール方法は? 1. [実行] -> [cmd] と入力して、小さな黒いウィンドウ...
目次1. Linuxシステムの操作レベルの概要2. 実行レベルを確認する3. 現在のシステムの動作レ...
このブログを書くつもりはなかったのですが、実際の操作中に、ネットワークの問題に圧倒されたこと (ネッ...
序文scp は secure copy の略です。scp は、Linux システムの ssh ログイ...
目次概要1. メニューとルーティング処理2. メニューとルートリスト3. ログインプロセスの処理概要...
Web ページでは、基本的に <input type="file">...
Docker デーモンは、 HTTP_PROXY 、 HTTPS_PROXY 、およびNO_PRO...