溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Vue項(xiàng)目打包及部署實(shí)例分析

發(fā)布時(shí)間:2022-08-10 14:50:50 來源:億速云 閱讀:197 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“Vue項(xiàng)目打包及部署實(shí)例分析”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“Vue項(xiàng)目打包及部署實(shí)例分析”文章能幫助大家解決問題。

一、打包

npm run build 打包項(xiàng)目后,出現(xiàn)dist文件夾,dist文件夾下的東西就是需要部署的項(xiàng)目。

遇到的第一個(gè)問題

index.html頁面出現(xiàn)一片空白,右鍵檢查network發(fā)現(xiàn)一堆錯(cuò)誤。

解決:沒有修改config配置文件,如果直接打包,系統(tǒng)默認(rèn)的是’/’(根目錄),而不是’./’(當(dāng)前目錄),從而導(dǎo)致路徑不對(duì),頁面加載不出來。

需要自己在項(xiàng)目的根目錄下手動(dòng)建一個(gè)配置文件并添上以下代碼:然后在重新打包一次就可以了。

Vue項(xiàng)目打包及部署實(shí)例分析

module.exports = {
publicPath: ‘./'
}

當(dāng)然我是這么弄得看得高大尚一點(diǎn):

module.exports = {
  // 基本路徑 baseURL已經(jīng)過時(shí)
  publicPath: './', 
  // 輸出文件目錄
  outputDir: 'dist',
  // eslint-loader 是否在保存的時(shí)候檢查
  lintOnSave: true,
  // use the full build with in-browser compiler?
  // https://vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only
  // compiler: false,
  // webpack配置
  // see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
  chainWebpack: () => {},
  configureWebpack: () => {},
  // vue-loader 配置項(xiàng)
  // https://vue-loader.vuejs.org/en/options.html
  // vueLoader: {},
  // 生產(chǎn)環(huán)境是否生成 sourceMap 文件
  productionSourceMap: true,
  // css相關(guān)配置
  css: {
   // 是否使用css分離插件 ExtractTextPlugin
   extract: true,
   // 開啟 CSS source maps?
   sourceMap: false,
   // css預(yù)設(shè)器配置項(xiàng)
   loaderOptions: {},
   // 啟用 CSS modules for all css / pre-processor files.
   modules: false
  },
  // use thread-loader for babel & TS in production build
  // enabled by default if the machine has more than 1 cores
  parallel: require('os').cpus().length > 1,
  // 是否啟用dll
  // See https://github.com/vuejs/vue-cli/blob/dev/docs/cli-service.md#dll-mode
  // dll: false,
  // PWA 插件相關(guān)配置
  // see https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa
  pwa: {},
  // webpack-dev-server 相關(guān)配置
  // devServer: {
  //  open: process.platform === 'darwin',
  //  disableHostCheck: true,
  //  host: 'www.test.com',//如果是真機(jī)測(cè)試,就使用這個(gè)IP
  //  port: 1234,
  //  https: false,
  //  hotOnly: false,
  //  before: app => {}
  // },
  // 第三方插件配置
  pluginOptions: {
   // ...
  }
  }

問題二:文件找不到

vue-router總共有三種模式。

對(duì)于我解決辦法:將router中的index.js 中的mode: "history"注釋掉,然后再重新打包即可。

其實(shí)到這一步就完成了,可氣的是:我打開index.html發(fā)現(xiàn)主頁有一些圖文沒有加載出來,查看發(fā)現(xiàn):

Vue項(xiàng)目打包及部署實(shí)例分析

二、服務(wù)器部署

下載(可以下載win版本適應(yīng)一下):

Vue項(xiàng)目打包及部署實(shí)例分析

1、解壓

雙擊nginx.exe啟動(dòng)

打開cmd命令窗口,切換到nginx解壓目錄下,輸入命令 nginx.exe 或者 start nginx

2、用法

  • 命令環(huán)境(配置)

  • nginx -s stop 停止 不保存信息

  • nginx -s quit 停止 保存信息

  • nginx -s reload 重啟

  • nginx -v 查看版本

  • 查看是否成功,默認(rèn)80端口

  • start nginx 啟動(dòng)

Vue項(xiàng)目打包及部署實(shí)例分析

3、Vue項(xiàng)目build后

將dist文件下的代碼+文件復(fù)制到http里面,然后再打開發(fā)現(xiàn)項(xiàng)目運(yùn)行正常!如果Http跨域錯(cuò)誤請(qǐng)看第四步,正常請(qǐng)略過。

4、配置nginx

(目前nginx還只是靜態(tài)服務(wù)器而已,有些是需要跨域的)

\conf下nginx.conf中

server {
listen 80;
server_name localhost;
    location / {
        root   html;
        index  index.html index.htm;
    }
    #正向代理
    location /api{
        proxy_pass http://239.3454(寫你的后端請(qǐng)求)
    }
}

其中l(wèi)ocation下的 html;如果是將dist文件復(fù)制進(jìn)去,那么location下的 html改為 html/dist

正式開始將項(xiàng)目推送到自己服務(wù)器上

1、查看服務(wù)器是屬于centos還是Ubuntu

2、yum install -y redhat-lsb(有的話就不需要安裝)lsb_release -a (查看)

Vue項(xiàng)目打包及部署實(shí)例分析

CentOS操作系統(tǒng)的部署

1、安裝yum類似npm,下載模塊以及模塊的依賴(安裝nginx之前的依賴)

yum -y install pcre*
yum -y install openssl*

2、下載wget類似于迅雷下載文件

yum install wget

3、下載nginx

下載到對(duì)應(yīng)目錄(一般是在usr下的local下)

wget http://nginx.org/download/nginx-1.17.9.tar.gz

Vue項(xiàng)目打包及部署實(shí)例分析

4、解壓

tar -zxvf nginx-17.9

5、編譯安裝

./ configure

Vue項(xiàng)目打包及部署實(shí)例分析

表示成功!

最后輸入: make -j4 && make install

會(huì)產(chǎn)生一個(gè)nginx文件所有的操作都在這個(gè)里面

6、進(jìn)入nginx文件里面sbin

測(cè)試是否安裝成功 ./nginx -t

Vue項(xiàng)目打包及部署實(shí)例分析

./nginx啟動(dòng)

報(bào)錯(cuò)

Vue項(xiàng)目打包及部署實(shí)例分析

解決:

lsof -i :80查看被什么程序占用,使用killall -9 nginx 殺掉進(jìn)程。

7、部署項(xiàng)目

使用MobaXterm上傳打包好的Vue項(xiàng)目到sbin文件下

Vue項(xiàng)目打包及部署實(shí)例分析

使用 (unzip 名字)解壓

PS:zip -q -r 壓縮包名.zip進(jìn)行壓縮 到html文件夾下

Vue項(xiàng)目打包及部署實(shí)例分析

Vue項(xiàng)目打包及部署實(shí)例分析

最后cd進(jìn)入nginx文件下的sbin輸入./nginx -s reload

Vue項(xiàng)目打包及部署實(shí)例分析

關(guān)于“Vue項(xiàng)目打包及部署實(shí)例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

vue
AI