vue-router はデフォルトでハッシュ モードになり、URL のハッシュを使用して完全な URL をシミュレートします。URL が変更された場合、ページはリロードされません。この記事では、nginx での vue プロジェクトのデプロイ (履歴モード) を主に紹介します。必要な場合は、
vue-router を参照してください。デフォルトでは、URL のハッシュを使用して URL をシミュレートします。変更すると、ページがリロードされません。ただし、# で終わるパスをハッシュしたくない場合は、ルーティング履歴モードを使用できます。たとえば、次の URL を使用した場合:
ハッシュ モードを使用する場合、アクセスは http://localhost:8080/bank/page/count/#/ になります。ルーティングが履歴を使用する場合、アクセス パスは次のようになります。以下は次のとおりです:
http://localhost:8080/bank/page/count これがこれです。
ルーティング設定は次のとおりです: ここでも例として vue-cli プロジェクトを取り上げます:
src/router のコード/index.js は次のとおりです:
import Vue from 'vue'; import Router from 'vue-router'; // import HelloWorld from '@/views/HelloWorld';
Vue.use(Router);
const router = new Router({ mode: 'history', // 访问路径不带井号 需要使用 history模式 base: '/bank/page', // 基础路径 routes: [ { path: '/count', name: 'count', component: resolve => require(['@/views/count'], resolve) // 使用懒加载 } ] });
ただし、この履歴モードではバックグラウンド構成のサポートが必要です。例:
プロジェクトのホームページにアクセスすると、すべて正常にアクセスできますが、ページを更新したり、パスに直接アクセスすると、404 が返されます。これは、ウィンドウが履歴モードであるためです。 js.history を介して動的に操作されるだけで、ブラウザのアドレス バーのパスが変更され、http リクエストは開始されません。ただし、このアドレスをブラウザに直接入力すると、サーバーへの http リクエストを開始する必要があります。がサーバー上に存在しないので、404 が返されます。どうすれば解決できますか?すべてのリクエストを http://localhost:8080/bank/page/index.html に転送できるようになりました。
1: Apache サーバーの構成は次のとおりです:
1. Web サーバーとして Apache を使用している場合は、.htaccess サポートを有効にする必要があります:
以下をファイルに追加します。そしてすべてが正常になります
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /bank/page/index.html [L] </IfModule>
上記の Apache の機能は、サーバー上に存在しないすべてのリクエストを Index.html に転送し、さまざまな URL から直接アクセスできるようにすることです。
注:
1. RewriteRule . /bank/page/index.html [L] このコードはルーティング構成ベースに追加したため、前に追加する必要があります。 /bank/page/ このパス。それ以外の場合は一致しません。
2. vue-cli プロジェクトでは、config/index.js のビルドの下にあるassetsPublicPathを変更する必要があります: '/bank/page/' 相対パスを使用すると、
chunk ファイルがエラーを報告します。それが見つからないということ。
3. Apache の www/bank/page ディレクトリに新しい .htaccess ファイルを作成します。RewriteRule を /bank/page/index.html に変更する必要があります。そうしないと、ページを更新するときにサーバーが 404 エラーを直接報告します。 。
4. httpd.conf ファイルを変更し、rewrite_module 関数を有効にします。
5. LoadModule rewrite_module libexec/apache2/mod_rewrite.so で、#
6 の行を見つけて、AllowOverride All に変更して .htaccess ファイルを有効にします。
2: nginx サーバー上の構成は次のとおりです: vue-cli パッケージ化コマンドを実行します:
npm run build
上記のようにパッケージ化し、dist フォルダーを生成し、フォルダー内のファイルを直接コピーしますnginx サーバーのディレクトリに移動すると、プロジェクトは開くことができますが、ページを更新するとホームページのみが表示されます。理由は上記と同じです。したがって、nginx サーバーをすべてジャンプするように設定する必要があります。パスまたはフォルダーを指定して、ホームページのindex.htmlにリダイレクトします。これで、ルートを見つけることができます。
nginxサーバーの構成は次のとおりです: 1. まずサーバーにログインします。
2. ディレクトリ /etc/usr/local/nginx/conf/ に移動します。
次のコマンドを実行します。
2-1 cd /etc/ を入力します。
2-2 cd /usr/ を入力します。 cd loacl/ Enter
2-4 cd nginx Enter
2-5 cd conf Enter
2-6 vi nginx_v4.conf nginx ファイルを入力し、新しいプロジェクトを作成します。 関連する設定は次のとおりです。
例:ドメイン名アドレスは次のようにアクセスされます: http://aa.xx.com/bank/page/count、次の構成が必要です:
server { listen 443; # 监听本机所有ip上的 443 端口 listen 80; # 监听本机所有ip上的 80 端口 server_name aa.xx.com; # 域名地址 access_log /data/www/logs/nginx/aa/access.log main; # 新建日志文件 include nginx_xx.conf; /* 下面是多个location 用于配置路由地址 */ location / { proxy_pass http://aa/; include nginx_proxy.conf; } location /bank/page/ { try_files $uri $uri/ /bank; }, /* http://aa.xx.com/bank2/page/count 有多个不同的地址 就加一个如下这个配置 */ location /bank2/page/ { try_files $uri $uri/ /bank2; } error_page 500 502 503 504 /502.html; location = /50x.html { root html; } }try_files コマンド:
構文: try_files ファイル... uri または try_files ファイル.. = コード デフォルト値: なし
スコープ: サーバーの場所
その機能は、ファイルが順番に存在するかどうかを確認し、最初に見つかったファイルまたはフォルダーを返すことです (末尾のスラッシュは、ファイルまたはフォルダーが見つからない場合は、最後のパラメーターへの内部リダイレクトが行われます。
内部リダイレクトを引き起こすことができるのは最後のパラメータのみであり、前のパラメータは内部 URI のポインティングを設定するだけであることに注意してください。最後のパラメータはフォールバック URI であり、存在する必要があります。存在しないと内部 500 エラーが発生します。名前付きの場所は最後のパラメータでも使用できます。 rewrite ディレクティブとは異なり、フォールバック URI が名前付きの場所ではない場合、
引数は自動的に保持されません。引数を保持したい場合は、明示的に宣言する必要があります。
locationディレクティブ構文: location [=|~|~*|^~|@] /uri/ { … }デフォルト値: なし
スコープ: サーバー
location指令是用来为匹配的URI进行配置,URI即语法中的"/uri/",可以是字符串或正则表达式。但如果要使用正则表达式,则必须指定前缀。 [@] 即是命名location,一般只用于内部重定向请求。
3. 设置成功后需要重启:nginx重启命令;在 /etc/usr/local/nginx/conf/ 目录下, cd ../ 然后进入sbin目录下 cd sbin 接着运行命令 ./nginx -s reload 重启后即可生效。
4. 在/data/www/logs/nginx/aa/目录下 新建 access.log 文件。
然后nginx保存和退出命令 :wq
直接退出的命令是 :q
5. mac系统下 自带 apache2服务器,需要对apache2作反向代理;配置如下:
进入本地mac apache2配置;
命令:cd /etc/apache2
命令:sudo vi httpd.conf
<VirtualHost *:80> ServerName aa.xx.com ProxyRequests off Header set Access-Control-Allow-Origin * <Proxy *> Order deny,allow Allow from all </Proxy> <Location /aa> ProxyPass http://localhost:8896/ ProxyPassReverse http://localhost:8896/ </Location> // .... 更多配置省略 </VirtualHost>
然后进入 sbin目录下 启动服务 sudo apachectl start
重启命令如下 sudo apachectl restart
6. java服务端的配置如下 (如果是vm放到开发那边的话,开发那边需要如下处理下,如果页面vm不放在开发那边的话,下面的配置可以忽略)
在项目目录下 webapp/web-inf/view/ 新建文件夹 aa 和 include文件
aa文件下 新建index.vm
如下代码:
#parse("include/common.vm") #@frame("xx管理",true) #css(["${version}/business/aa/aa.css"]) // 打包后的css路径,具体看自己的路径 <p id="app"></p> #js(["${version}/business/aa/aa.js"]) // 打包后的js路径,具体看自己的路径 #end
6-2 java开发需要配置一下:
1 设置路由: /aa 设置路由到 /aa/index.vm
2 这个include/common.vm有一个地址配置,是在disconf上配置的,你加一个
地址配置到 //aa.xx.com/aa/dist 上即可
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
以上がvue プロジェクトを nginx にデプロイする (詳細なチュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

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

Dreamweaver Mac版
ビジュアル Web 開発ツール
