vue項(xiàng)目打包部署到服務(wù)器的方法示例
上上一篇我寫過一些關(guān)于vue項(xiàng)目部署到linux服務(wù)器的文章,但是那是以node作為開發(fā)環(huán)境 pm2 守護(hù)進(jìn)程的方式,讓他能正常運(yùn)行,可是還是出現(xiàn)了問題,因?yàn)閷儆谂cAPP交互的頁面,在webView中打開過慢,APP的用戶體驗(yàn)非常的差,所以我查找了資料,改變了部署方式,接下來我介紹一下
這一次,我想Tomcat為例
我們先看一下Linux中 Tomcat下面的目錄結(jié)構(gòu):

以vue-cli 搭建出來的手腳架 webpack的模板下的/config/index.js,這里可以看到assetsPublicPath這個(gè)鍵,而且還有兩次,中間我自己挖過的坑我就不說了,這里要說的是,剛才兩個(gè)鍵的后面都進(jìn)行一次修改,都加一個(gè) './'
為什么要改這里呢,是因?yàn)槁窂絾栴},如果不修改,部署到Tomcat上會(huì)出現(xiàn)空白頁
接下來我來貼出我修改后的config/index.js的配置
'use strict'
// Template version: 1.1.3
// see http://vuejs-templates.github.io/webpack for documentation.
const path = require('path')
module.exports = {
build: {
env: require('./prod.env'),
index: path.resolve(__dirname, '../dist/index.html'),
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
assetsPublicPath: './',
productionSourceMap: true,
// Gzip off by default as many popular static hosts such as
// Surge or Netlify already gzip all static assets for you.
// Before setting to `true`, make sure to:
// npm install --save-dev compression-webpack-plugin
productionGzip: false,
productionGzipExtensions: ['js', 'css'],
// Run the build command with an extra argument to
// View the bundle analyzer report after build finishes:
// `npm run build --report`
// Set to `true` or `false` to always turn it on or off
bundleAnalyzerReport: process.env.npm_config_report
},
dev: {
env: require('./dev.env'),
port: process.env.PORT || 4000,
autoOpenBrowser: true,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {},
// CSS Sourcemaps off by default because relative paths are "buggy"
// with this option, according to the CSS-Loader README
// (https://github.com/webpack/css-loader#sourcemaps)
// In our experience, they generally work as expected,
// just be aware of this issue when enabling this option.
cssSourceMap: false
}
}
是不是修改的都是 assetsPublicPath這個(gè)鍵的值 "/" ,改成"./"
這里我還想提一下我中間遇到的坑:
在開發(fā)模式的時(shí)候我們會(huì)在這里配置proxyTable: {}, 配置他的原因是為了開發(fā)的時(shí)候解決前后端分離跨域問題的
這里一般我們會(huì)這么去寫
dev: {
env: require('./dev.env'),
port: 4000,
autoOpenBrowser: true,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
'/api': {
changeOrigin: true,
target: 'http://192.168.0.116:8080',
pathRewrite: {
'^/api': ''
}
}
},
記住,這么寫是為了開發(fā)模式的時(shí)候方便前后分離開發(fā),但是我們?cè)诖虬臅r(shí)候一定要去掉這一部分了,因?yàn)樵谕画h(huán)境同端口下是不存在跨域問題的了
而我這里打包的時(shí)候就把這一部分給去掉了
變成proxyTable: {}
與此同時(shí),我們?cè)陂_發(fā)模式的時(shí)候?qū)慳xios時(shí)會(huì)在接口前面加一個(gè)"/api" 我們?cè)诖虬巴瑯右サ?,變成后端給的那種接口,這樣在部署到服務(wù)器的時(shí)候,接口路徑才能正確
接下來我們還需要修改一個(gè)地方 vue-router
vue單頁面應(yīng)用絕大部分都用到了這個(gè)vue-router,所以我們這里也需要做一部分修改就需要給 src/router/index.js添點(diǎn)東西,如下面:
export default new Router({
mode : 'history',
base: '/dist/', //添加的地方
routes: [
{
path: '/',
name: 'index',
component: index
}
]
})
然后我們?cè)賵?zhí)行npm run build ,就能發(fā)現(xiàn)我們打包出來的一個(gè)文件dist 而這個(gè)打包好的文件在這個(gè)項(xiàng)目的根目錄下,我們把他放到Tomcat的目錄下的WebApps中,就跨域訪問到你的頁面了
http://59.111.111.11:4000/dist/
備注:記得開通服務(wù)器上的端口號(hào),要不然也是訪問失敗。
需要注意的是:圖片資源命名的時(shí)候不要有中文,因?yàn)橹形牡脑挿?wù)器訪問可能圖片顯示不出來。
如果遇到Vue 項(xiàng)目部署到服務(wù)器的問題,請(qǐng)點(diǎn)擊此文章http://www.dhdzp.com/article/129750.htm,或許能找到解決方法
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Vue3頁面如何自適應(yīng)表格滾動(dòng)高度
這篇文章主要為大家詳細(xì)介紹了Vue3頁面如何自適應(yīng)表格滾動(dòng)高度,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02
element-ui?table表格控件實(shí)現(xiàn)單選功能代碼實(shí)例
這篇文章主要給大家介紹了關(guān)于element-ui?table表格控件實(shí)現(xiàn)單選功能的相關(guān)資料,單選框是指在?Element?UI?的表格組件中,可以通過單選框來選擇一行數(shù)據(jù)。用戶只能選擇一行數(shù)據(jù),而不能同時(shí)選擇多行,需要的朋友可以參考下2023-09-09
vue給對(duì)象動(dòng)態(tài)添加屬性和值的實(shí)例
今天小編就為大家分享一篇vue給對(duì)象動(dòng)態(tài)添加屬性和值的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09
vue2 v-model/v-text 中使用過濾器的方法示例
這篇文章主要介紹了vue2 v-model/v-text 中使用過濾器的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05
vue項(xiàng)目配置國(guó)際化$t('')的介紹和用法示例
這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目配置國(guó)際化?$t('')的介紹和用法的相關(guān)資料,多語言和國(guó)際化現(xiàn)在已經(jīng)成為一個(gè)網(wǎng)站或應(yīng)用的必要功能之一,Vue作為一款流行的前端框架,在這方面也有著靈活的解決方案,需要的朋友可以參考下2023-09-09
vue-cli3啟動(dòng)服務(wù)如何自動(dòng)打開瀏覽器配置
這篇文章主要介紹了vue-cli3啟動(dòng)服務(wù)如何自動(dòng)打開瀏覽器配置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09

