通過Vue CLI3 快速創建Vue項目并部署到tomcat

1、前提

首先你要安裝好nodejs和yarn,直接在官網下載安裝包,一鍵安裝即可,不需要什么環境配置,我安裝的是最新版本(node-v10.13.0、yarn-1.12.3)

2、安裝

  • 同時寫Vue CLI 3和Vue CLI 2 的原因是官方默認的是3,而自己學習的GitHub上的項目為2~

    2.1 新版本 Vue CLI 3

  • 寫這篇文章的時候官網默認的為Vue CLI 3
npm install -g @vue/cli
# OR
yarn global add @vue/cli

2.2 舊版本 Vue CLI 2


3、創建項目

Vue CLI 3:

vue create hello-world


Vue CLI 2:

vue init webpack my-project

  • 一直按回車為默認選項,手動設置請參考官方文檔

    4、運行項目

    Vue CLI 3:
    cd hello-world
    yarn serve

    Vue CLI 2:

    cd my-project/
    npm run dev

    ?


5、驗證

在瀏覽器輸入localhost:8080,看見下圖圖所示的效果即為成功



6、構建

yarn build
# OR
npm run build

? 會生成一個dist文件夾


7、部署

?

7.1 本地預覽

dist 目錄需要啟動一個 HTTP 服務器來訪問 (除非你已經將 baseUrl 配置為了一個相對的值),所以以 file:// 協議直接打開 dist/index.html 是不會工作的。在本地預覽生產環境構建最簡單的方式就是使用一個 Node.js 靜態文件服務器,例如?serve

安裝serve:

npm install -g serve


啟動:

serve -s dist
INFO: Accepting connections at http://localhost:5000


預覽:http://localhost:5000

7.2 部署到tomcat

默認的配置直接部署到tomcat,是有錯誤的(在瀏覽器檢查里發現是找不到對應的靜態文件,原因是路徑不對),需要修改一下配置,版本2和版本3的配置也不一樣

Vue CLI 3:
在hello-world新建vue.config.js,并添加如下內容

module.exports = {baseUrl: process.env.NODE_ENV === 'production'? '/hello-world/': '/'
}


這里參考官方文檔:https://cli.vuejs.org/zh/guide/deployment.html#platform-guides

Vue CLI 2:
找到my-project/config/index.js文件中build對應的assetsPublicPath鍵值,將其修改為

assetsPublicPath: './',


這里參考:https://blog.csdn.net/Dear_Mr/article/details/72871919

重新build,將生成的dist文件夾復制到tomcat目錄下的webapps文件夾下,可以將dist文件夾改名為hello-world,那么訪問路徑就為
ip/hello-world,也可以不改名那么訪問路徑就為ip/dist,效果查看vue.dongkelun.com/hello-world、vue.dongkelun.com/dist

8、其他問題

8.1 npm run dev啟動后,用Ctrl+c,關閉不了對應的進程

原因是在Git Bash Here里執行的命令,一種方法是在windows 的shell里執行命令(輸入cmd進入),另一種辦法是如果不想放棄git的命令行的話,每次啟動完用tskill node殺死進程。

8.2 依然想用 npm run dev 啟動上面的hello world程序

辦法是修改package.json文件,找到scripts下的”serve”: “vue-cli-service serve”,復制這一行到下一行將key(serve)改為dev即可

  • 自己可以對比一下,兩個版本的package.json文件的差異,多嘗試一下就了解了

?

?

參考:https://dongkelun.com/2018/11/19/vueCliCreateProject/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/247450.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247450.shtml
英文地址,請注明出處:http://en.pswp.cn/news/247450.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

簡述區塊鏈(1)- 也許只有這一篇

一、嘮叨兩句 最近一直在考慮一個事情,就是怎么給不太了解技術的人講清楚區塊鏈。我先試著寫下來,然后在逐步打磨吧,目標就是讓哪些說看區塊鏈看的云里霧里的同學能對區塊鏈有一些認知。 二、定義 簡單的給區塊鏈下個定義:基于加密…

Vue CLI 3.0腳手架如何在本地配置mock數據json

前后端分離的開發模式已經是目前前端的主流模式,至于為什么會前后端分離的開發我們就不做過多的闡述,既然是前后端分離的模式開發肯定是離不開前端的數據模擬階段。 我們在開發的過程中,由于后臺接口的沒有完成或者沒有穩定之前我們都是采用…

python 通過下載包setup.py安裝模塊

下載安裝包,并解壓到相應的位置 1、打開cmd 2、到達安裝目錄 3、python setup.py build 4、python setup.py install 轉載于:https://www.cnblogs.com/liuchunxiao83/p/11207340.html

webpack之externals操作三部曲--正確的姿勢

1.作用 首先webpack提供這個externals選項作用是從打包的bundle文件中排除依賴。換句話說就是讓在項目中通過import引入的依賴在打包的時候不會打包到bundle包中去,而是通過script的方式去訪問這些依賴。 2.怎么用? 以jquery為例子,目的是在…

Anaconda3自帶jupyter

1、cmd命令行中輸入 JupyterNotebook 2、系統自動調起下面頁面(注冊端口沖突是打不開的) 轉載于:https://www.cnblogs.com/liuchunxiao83/p/11207385.html

python 的按位與 或 異或 運算

符號 描述 運算規則 by MoreWindows & 與 兩個位都為1時,結果才為1 (統計奇數) | 或 兩個位都為0時,結果才為0 (統計偶數) ^ 異或 兩…

理解Shadow DOM

1. 什么是Shadow DOM? Shadow DOM 如果按照英文翻譯的話可以理解為 影子DOM, 何為影子DOM呢?可以理解為一般情況下使用肉眼看不到的DOM結構,那如果一般情況下看不到的話,那也就是說我們無法直接控制操縱的DOM結構。 Shadow DOM 它是HTML的一…

046 實例11-自動軌跡繪制

目錄 一、"自動軌跡繪制"問題分析1.1 問題分析1.2 自動軌跡繪制二、"自動軌跡繪制"實例講解2.1 自動軌跡繪制2.2 數據接口定義2.3 數據文件三、"自動軌跡繪制"舉一反三3.1 理解方法思維3.2 應用問題的擴展一、"自動軌跡繪制"問題分析 …

bootstrap-select采坑

bootstrap-select采坑 1.class"selectpicker" 普通的下拉框功能 2.title"請選擇城市名稱" title的作用與palcehoder一樣。 3.select class"selectpicker" multiple selectpicker和multiple屬性的搭配使用可實現多選 4.data-live-search"tru…

對vue虛擬dom的研究

Vue.js通過編譯將template 模板轉換成渲染函數(render ) ,執行渲染函數就可以得到一個虛擬節點樹在對 Model 進行操作的時候,會觸發對應 Dep 中的 Watcher 對象。Watcher 對象會調用對應的 update 來修改視圖。這個過程主要是將新舊虛擬節點進行差異對比…

element-ui之dialog組件title插槽的使用

dialog對話框組件title屬性的slot使用方法 使用背景 需要單獨控制title中某個數據顯示及樣式&#xff0c;footer也一樣 <el-dialog// 也可以這樣寫,但是沒有辦法單獨控制name age的顯示// title"name age"title"提示":visible.sync"dialogVisi…

css3自適應布局單位vw,vh

視口單位(Viewport units) 什么是視口&#xff1f; 在桌面端&#xff0c;視口指的是在桌面端&#xff0c;指的是瀏覽器的可視區域&#xff1b;而在移動端&#xff0c;它涉及3個視口&#xff1a;Layout Viewport&#xff08;布局視口&#xff09;&#xff0c;Visual Viewport…

python 操作 elasticsearch-7.0.2 遇到的問題

錯誤一&#xff1a;TypeError: search() got an unexpected keyword argument doc_type&#xff0c;得到不預期外的參數 解決方法&#xff1a;elasticsearch7里不用文檔類型&#xff0c;所以去掉 doc_typecredit_data 錯誤二&#xff1a;RequestError(400, illegal_argument_ex…

用到的Shell

sed 1i 添加的內容 file #這是在第一行前添加字符串 sed $i 添加的內容 file #這是在最后一行行前添加字符串 sed $a添加的內容 file #這是在最后一行行后添加字符串 sed -i s/.*/行首添加內容&行尾添加內容/ 文件名 //每一行 sed -i $a新增的一行 tars_build_tar.sh a…

如何解決瀏覽器縮小出現橫向滾動條時網頁背景圖出現空白的問題

原因&#xff1a; 當窗口縮小時&#xff0c;瀏覽器默認100%寬度為瀏覽器窗口的寬度。而忽略了下部內容層固定寬度(1024px)。從而出現了固定寬度大于100%寬度的現象。瀏覽以此理解來解析頁面&#xff0c;就出現了容器寬度理解上的差異&#xff0c;出現了一個非常奇特的BUG。 解…

前端設計模式

1. 單例模式 2.裝飾器模式 轉載于:https://www.cnblogs.com/lyraLee/p/11210985.html

區別 (function($){...})(jQuery)、$(function(){ })和$.fn

一、(function($){…})(jQuery) 首先function(arg){...}定義了一個匿名函數&#xff0c;參數為arg,而調用時需要在函數后面寫上括號和實參&#xff0c;由于操作符的優先級&#xff0c;函數本身也需要括號&#xff0c;也就成了&#xff1a; &#xff08;function(arg){...}&…

git 清除緩存

清除git緩存 git config --local --unset credential.helpergit config --global --unset credential.helpergit config --system --unset credential.helper保存git緩存 git config --global credential.helper store轉載于:https://www.cnblogs.com/zhouyideboke/p/11211650.…

網頁里如何使用js禁用控制臺

網頁里如何禁用右擊事件&#xff1f;使用jQuery&#xff0c;幾句代碼就可以搞定了 document.oncontextmenu function(){return false;} 簡單示例&#xff1a; js實現&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><…

Java生鮮電商平臺-訂單中心服務架構與異常訂單邏輯

Java生鮮電商平臺-訂單中心服務架構與異常訂單邏輯 訂單架構實戰中闡述了訂單系統的重要性&#xff0c;并從訂單系統的信息架構和流程上對訂單系統有了總體認知&#xff0c;同時還穿插著一些常見的訂單業務規則和邏輯。上文寫到訂單的拆單部分時擱置了&#xff0c;現在接上文繼…