Rumah applet WeChat pembangunan WeChat 实战项目编译后不在根目录怎么办

实战项目编译后不在根目录怎么办

Jun 04, 2018 pm 03:50 PM
Jadual kandungan menyusun

这次给大家带来实战项目编译后不在根目录怎么办,实战项目编译后不在根目录怎么办的注意事项有哪些,下面就是实战案例,一起来看一下。

eg. :

vue-router: history模式 内网环境:192.168.1.1:8080/index.html 外网环境:domain.com/ttsd/index.html

由于开发出来的项目是要部署在客户方,且客户并不想单独拿一个域名(或子域)来部署,这时,打包后的程序就要作一些配置方面的修改了。

修改配置文件

1、把打包后的资源引用修改为相对路径 找到 config/index.jsbuild 属性下的 assetsPublicPath

build: {
 ...
 assetsPublicPath: './' // 未修改前的配置为 '/',
}
Salin selepas log masuk

2、修改样式引用的资源文件(图片、视频、字体文件等)为相对路径 找到 build/utils.js 中,添加(或修改) publicPath'../../'

if (options.extract) {
 return ExtractTextPlugin.extract({
 use: loaders,
 fallback: 'vue-style-loader',
 publicPath: '../../' // 修改路径
 })
} else {
 return ['vue-style-loader'].concat(loaders)
}
Salin selepas log masuk

 

修改路由

在路由的history模式下,所有的路由都是基于根路径的,如 /xxxx ,由于部署目录未知,所以我们可以根据 location.pathname 来获取到当前访问的文件路径,来修改路由。

vue-router里提供了一个base的属性

base类型: string 默认值: "/" 应用的基路径。例如,如果整个单页应用服务在 /app/ 下,然后 base 就应该设为 "/app/"

修改路由代码

function getAbsolutePath () {
 let path = location.pathname
 return path.substring(0, path.lastIndexOf('/') + 1)
}
const routers = new Router({
 mode: 'history',
 base: getAbsolutePath(),
 ...
})
Salin selepas log masuk

至此,打包配置的相关修改已全部完成,项目也能够正常访问。 但还是会有一个问题,跳转到某个路由后,刷新页面,就gg了,页面为空白,此时就要修改nginx的配置了。

修改nginx的配置

官方给的nginx配置是根目录下的,即 https://router.vuejs.org/zh-cn/essentials/history-mode.html#nginx

location / {
 try_files $uri $uri/ /index.html;
 // 需要修改为
 try_files $uri $uri/ /dist/index.html;
}
Salin selepas log masuk

注: /dist 根据实际部署的网站目录,修改一下就可以。 个人感觉还可以通过nginx内置的指令去动态获取,在下就不太清楚了。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

VuePress做出个人网页

如何绑定方向键控制div移动

Atas ialah kandungan terperinci 实战项目编译后不在根目录怎么办. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara memasukkan jadual kandungan dalam Dokumen Google Cara memasukkan jadual kandungan dalam Dokumen Google Apr 13, 2023 pm 08:16 PM

Sama ada artikel, kertas atau tutorial, sorotan utama mana-mana dokumen ialah tajuk dan sudah tentu jadual kandungan. Ia menerangkan struktur garis besar dokumen supaya pengguna boleh sampai ke tempat dan perkara yang mereka harapkan untuk dibaca daripada dokumen tersebut. Ia juga merupakan amalan terbaik untuk menambah jadual kandungan pada kebanyakan dokumen untuk menjadikannya kelihatan lebih profesional. Hari ini, segala-galanya berlaku dalam talian dan orang ramai menggunakan Dokumen Google untuk membuat kebanyakan dokumen. Ramai pengguna masih tidak pasti cara untuk memasukkan atau menambah jadual kandungan dalam google docs. Oleh itu, kami menghasilkan artikel ini untuk menerangkan cara membuat atau memasukkan jadual kandungan dalam Dokumen Google. Cara Memasukkan Jadual Kandungan dalam Dokumen Google Langkah 1: Klik di sini untuk melawati Dokumen Google Dalam Talian. Langkah 2: Jika

Ralat kompilasi C++: pengecam yang tidak diisytiharkan, bagaimana untuk menyelesaikannya? Ralat kompilasi C++: pengecam yang tidak diisytiharkan, bagaimana untuk menyelesaikannya? Aug 22, 2023 pm 03:34 PM

Apabila pengaturcaraan dalam C++, kita sering menghadapi masalah pengecam yang tidak diisytiharkan. Ini biasanya berlaku apabila pembolehubah, fungsi atau kelas yang tidak ditentukan digunakan, menyebabkan pengkompil gagal mengenali pengecam ini, mengakibatkan ralat penyusunan. Artikel ini menerangkan punca biasa masalah pengecam yang tidak diisytiharkan dan cara menyelesaikannya. Punca Biasa Masalah pengecam yang tidak diisytiharkan biasanya timbul daripada sebab berikut: Pembolehubah, fungsi atau kelas tidak diisytiharkan dengan betul: Anda harus mengisytiharkan pembolehubah, fungsi atau kelas sebelum menggunakannya. Jika pembolehubah tidak diisytiharkan atau berfungsi

Gunakan fungsi File.isDirectory() java untuk menentukan sama ada fail itu wujud dan merupakan jenis direktori Gunakan fungsi File.isDirectory() java untuk menentukan sama ada fail itu wujud dan merupakan jenis direktori Jul 24, 2023 pm 06:57 PM

Gunakan fungsi File.isDirectory() Java untuk menentukan sama ada fail wujud dan daripada jenis direktori Dalam pengaturcaraan Java, anda sering menghadapi situasi di mana anda perlu menentukan sama ada fail wujud dan jenis direktori. Java menyediakan kelas Fail untuk mengendalikan fail dan direktori Fungsi isDirectory() boleh membantu kami menentukan sama ada fail ialah jenis direktori. Fungsi File.isDirectory() ialah kaedah dalam kelas Fail Fungsinya adalah untuk menentukan Fail semasa

Teknik penyusunan dan dekompilasi di Jawa Teknik penyusunan dan dekompilasi di Jawa Jun 09, 2023 am 09:43 AM

Java adalah bahasa pengaturcaraan yang sangat popular yang digunakan secara meluas untuk membangunkan pelbagai jenis perisian. Dalam pembangunan Java, teknologi kompilasi dan penyahkompilasi adalah pautan yang sangat penting. Teknologi kompilasi digunakan untuk menukar kod Java kepada fail boleh laku, manakala teknologi penyahkompilasi membolehkan seseorang menukar fail boleh laku semula kepada kod Java. Artikel ini akan memperkenalkan teknik kompilasi dan penyahkompilasi di Jawa. 1. Teknologi kompilasi Kompilasi ialah proses menukar kod bahasa peringkat tinggi (seperti Java) kepada bahasa mesin. di Jawa

Mengapakah program Go saya mengambil masa yang lebih lama untuk disusun? Mengapakah program Go saya mengambil masa yang lebih lama untuk disusun? Jun 09, 2023 pm 06:00 PM

Dalam beberapa tahun kebelakangan ini, bahasa Go telah menjadi pilihan semakin ramai pembangun. Walau bagaimanapun, berbanding dengan bahasa pengaturcaraan lain, kelajuan kompilasi bahasa Go tidak cukup pantas. Ramai pembangun akan menghadapi masalah ini apabila menyusun atur cara Go: Mengapakah program Go saya mengambil masa yang lebih lama untuk disusun? Artikel ini akan meneroka isu ini dari beberapa aspek. Seni bina pengkompil bahasa Go Seni bina pengkompil bahasa Go menggunakan reka bentuk tiga peringkat, iaitu bahagian hadapan, lapisan tengah dan bahagian belakang. Bahagian hadapan bertanggungjawab untuk menterjemah kod sumber kepada kod perantaraan dalam bahasa Go, dan lapisan tengah akan

Ralat kompilasi C++: Senarai parameter fungsi terlalu panjang, bagaimana untuk menyelesaikannya? Ralat kompilasi C++: Senarai parameter fungsi terlalu panjang, bagaimana untuk menyelesaikannya? Aug 21, 2023 pm 11:19 PM

Ralat kompilasi C++: Senarai parameter fungsi terlalu panjang, bagaimana untuk menyelesaikannya? Apabila menulis atur cara dalam C++, anda kadangkala menghadapi ralat kompilasi sedemikian: senarai parameter fungsi terlalu panjang. Bagi pemula C++, ini mungkin sakit kepala. Seterusnya, kami akan membincangkan punca dan penyelesaian kepada masalah ini. Mula-mula, mari kita lihat peraturan asas parameter fungsi C++. Dalam C++, parameter fungsi mesti diisytiharkan antara nama fungsi dan kurungan pembukaan. Apabila anda lulus parameter fungsi, anda memberitahu fungsi apa yang perlu dilakukan. Parameter ini boleh menjadi apa-apa

Pengenalan fungsi PHP—namakan semula(): Namakan semula fail atau direktori Pengenalan fungsi PHP—namakan semula(): Namakan semula fail atau direktori Jul 25, 2023 pm 12:10 PM

Pengenalan fungsi PHP—namakan semula(): Menamakan semula fail atau direktori Pengenalan: Dalam PHP, fungsi nama semula() digunakan untuk menamakan semula fail atau direktori. Ia menyediakan cara mudah untuk menukar nama fail atau direktori. Sama ada fail tunggal atau keseluruhan direktori, anda boleh menggunakan fungsi ini untuk melakukan operasi nama semula. Proses penamaan semula boleh dicapai dengan mudah dengan menyatakan nama fail sumber atau direktori dan nama sasaran. Sintaks: boolrename(string$source,str

Fungsi glob() dalam PHP digunakan untuk mencari fail atau direktori Fungsi glob() dalam PHP digunakan untuk mencari fail atau direktori Nov 18, 2023 pm 06:17 PM

Fungsi glob() dalam PHP digunakan untuk mencari fail atau direktori dan merupakan fungsi operasi fail yang berkuasa. Ia boleh mengembalikan laluan fail atau direktori berdasarkan padanan corak yang ditentukan. Sintaks fungsi glob() adalah seperti berikut: glob(corak, bendera) dengan corak mewakili rentetan corak yang akan dipadankan, yang boleh menjadi ungkapan kad bebas, seperti *.txt (fail yang sepadan berakhir dengan .txt), atau laluan Fail tertentu. flags ialah parameter pilihan yang digunakan untuk mengawal fungsi

See all articles