天天看點

通過Vue CLI 快速建立Vue項目并部署到tomcat

版權聲明:本文由董可倫首發于https://dongkelun.com,非商業轉載請注明作者及原創出處。商業轉載請聯系作者本人。 https://blog.csdn.net/dkl12/article/details/84281778

我的原創位址:

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

前言

最近一直在寫前端,用的是JSP,但是很多人都說JSP已經過時了。既然做了幾個月的前端,那就把前端學的好一點,學點新技術,跟上潮流。感覺Vue挺火的,是以這幾天學了一下Vue,開始看的官方文檔,然後直接用GitHub上比較火的項目進行學習,本地跑起來,看看效果、源碼和代碼結構,學習相關的插件等,并部署了其中一個項目到我的二級域名下:

vue.dongkelun.com

(感覺這個項目裡的東西挺全的)。

因為一直用的github上别人搭建好的項目進行學習,擔心和用Vue CLI建立的項目的代碼結構有差別,是以就看了一下Vue CLI的官方文檔,進行簡單搭建,看看到底有什麼差別,做到心中有數。

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

npm install -g @vue/cli-init
# `vue init` 的運作效果将會跟 `[email protected]` 相同
           

3、建立項目

Vue CLI 3:

vue create hello-world
           

Vue CLI 2:

vue init webpack my-project
           
  • 一直按回車為預設選項,手動設定請參考 官方文檔

4、運作項目

cd hello-world
yarn serve
           
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的配置也不一樣

在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

找到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檔案的差異,多嘗試一下就了解了

相關閱讀