vue開發環境搭建及熱更新

来源:http://www.cnblogs.com/nangxi/archive/2017/08/08/7306087.html
-Advertisement-
Play Games

寫這篇博客的目的是讓廣大的學者在初入Vue項目的時候少走些彎路,雖然現在有很多博客也有差不多的內容,但是博主在裡面添加了一些學習時碰到的小問題。在閱讀這篇博客之前,我先給大家推薦一篇文章《入門Webpack,看這篇就夠了》(網址:http://www.jianshu.com/p/42e11515c1 ...


寫這篇博客的目的是讓廣大的學者在初入Vue項目的時候少走些彎路,雖然現在有很多博客也有差不多的內容,但是博主在裡面添加了一些學習時碰到的小問題。在閱讀這篇博客之前,我先給大家推薦一篇文章《入門Webpack,看這篇就夠了》(網址:http://www.jianshu.com/p/42e11515c10f),看完這篇文章,相信大家對於webpack包管理工具會有一個新的認識。

一、cnpm的安裝

npm是node的包管理工具,由於npm是基於國外的伺服器,所以有些電腦運行起來比較慢,在這裡我們選擇使用淘寶的npm鏡像cnpm。 用管理員身份打開cmd(之所以用管理員身份,是防止有些電腦的安裝需要管理者身份),輸入一下命令行
npm install -g cnpm --registry=https://registry.npm.taobao.org

安裝完成之後,在命令行輸入

cnpm -v
查看cnpm的版本號,如果出現版本號如4.2.0,則表示安裝成功!

二、vue-cli的安裝

vue-cli是Vue的腳手架工具,我們在安裝它之前,在命令行輸入vue,是找不到命令的,會輸出command not found:vue(可以試試看)。接下來我們來安裝它了 我們先在桌面建立一個文件夾Demo_1,然後在cmd進入目錄
cd C:\Users\ASUS\Desktop\Demo_1
然後再輸入
cnpm install -g vue-cli
-g表示全局安裝,去掉-g表示在當前目錄下安裝。安裝完之後,輸入vue就會出現類似如下效果 這表示安裝成功!

三、創建一個基於“webpack”模板的項目

在命令行輸入
vue init webpack myDemo
myDemo是創建出來的文件名,輸入上面的命令之後,會出現 它會問你項目名等一些問題,根據你的需要輸入,弄完之後我們就來安裝項目依賴。(ps:project name不能使用駝峰寫法,要換為橫杠

四、安裝項目依賴

我們在cmd先進入myDemo目錄下
cd C:\Users\ASUS\Desktop\Demo_1\myDemo
在該目錄下執行
cnpm install
這句命令行會把所有項目依賴安裝到當前目錄下,為什麼可以直接這麼使用呢?
我們來看一下myDemo文件夾裡面的package.json文件,裡面有一段這樣的代碼 這兩個是我們剛剛下載的webpack模板裡面的項目依賴,我們cnpm install命令行的執行,就直接把這些東西都安裝了,不用像前面推薦的文章裡面一樣,每個插件的安裝都要執行類似下麵的命令
npm install --save-dev json-loader
json-loader這個插件的功能是分析JSON文件並把它轉換為JavaScript文件
好了,回到正題,安裝完項目依賴之後。我們會發現在文件夾myDemo裡面多了一個node_modules文件夾,裡面存放的是插件等的一些東西

五、打包項目

在打包項目之前,我們再次打開package.json文件,裡面有這樣一段代碼 這段代碼,每個鍵對應著一個值,通俗點的意思就是cnpm run什麼鍵,就執行後面的語句,比如cnpm run build,就是執行node build/dev-server.js文件,對項目進行打包。 在打包之前我們來看一下myDemo目錄下的東西 我們在命令行輸入
cnpm run build
打包完成之後,是如下效果
我們可以看到打包出來了好多文件,Asset表示這次打包出來的文件,Size是指這個文件的大小,Chunks是指這次打包的分塊,Chunk Names是指這次打包的塊名稱。名稱採用的是[name].[hash]的命名方法。(關於webpack的知識我推薦大家去慕課網找《webpack深入與實戰》,這個老師講的非常清楚,這裡就不再多說) 接下來我們回去看myDemo文件夾,我們會發現多了一個dist文件夾,打包出來的文件就放在裡面

六、在本地伺服器上運行

接下來就是最後一步了,我們通過下麵這句代碼將這個項目在本地伺服器上跑起來。
cnpm run dev

Listening at http://localhost:8080表示監聽的埠號為8080(預設為8080)。然後自動打開瀏覽器我們就可以看到效果啦

七、什麼是熱更新

熱更新這個功能是我們第二步的時候,vue-cli手腳架的一個功能,通俗點講,它的作用就是當編程人員在修改代碼的時候,瀏覽器不用手動刷新就可以直接看到修改後的效果,大大提高了速度。我們來試驗一下。我們找到myDemo/src/component/下的Hello.vue文件,我們修改一點東西,在Welcome to Your Vue.js App之前加上個No。 保存一下,在瀏覽器不用手動刷新就可以看到效果啦!  

八、一個問題

其實,不執行第五步的打包項目操作,直接運行項目也是有效果的。cnpm run dev也會進行打包,但是結果是在記憶體中的,你是看不到的,你運行cnpm run build才能在文件夾中看到,也就是那個dist文件夾,如何證明cnpm run dev打包後的東西是放在記憶體中呢?我們在瀏覽器F12 只執行cnpm run dev的情況下,我們會發現index.html中導入了app.js,但是在本地文件夾裡面卻怎麼也找不到這個app.js文件,而執行了cnpm run build之後,app.js就放在dist文件夾中,不推薦只執行cnpm run dev《Vue開發環境搭建及熱更新》就先說這麼多,接下來第二篇《理解最基本的Vue項目》將會講解一下Vue項目裡面的一些代碼。
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一般的相容做法,如下: 跨瀏覽器添加事件 跨瀏覽器移除事件 推薦寫法 參考地址: addEvent() recoding contest entry addEvent() – Follow Up ...
  • 縮寫搜索元素的範圍 三個最基本的過濾方法是:first(), last() 和 eq(),它們允許您基於其在一組元素中的位置來選擇一個特定的元素。 其他過濾方法,比如 filter() 和 not() 允許您選取匹配或不匹配某項指定標準的元素。 jQuery first() 方法 first() 方 ...
  • 對於一些less的一些基本概念這裡不在贅餘,就來說說怎麼使用吧 1、首先從官網下載less的js文件,例如less.min.js 2、編寫less代碼,示例代碼如下 3、在頁面中引入css和js文件 通過以上的方式就可以在頁面中看到效果了。但是在項目要上線的時候,這樣編譯會造成卡頓,可以通過node ...
  • 同胞擁有相同的父元素。 通過 jQuery,您能夠在 DOM 樹中遍歷元素的同胞元素。 在 DOM 樹中水平遍歷 有許多有用的方法讓我們在 DOM 樹進行水平遍歷: sibllings() next() nextAll() nextUntil() prev() prevAll() preUntil( ...
  • 後代是子、孫、曾孫等等。 通過 jQuery,您能夠向下遍歷 DOM 樹,以查找元素的後代。 向下遍歷 DOM 樹 下麵是兩個用於向下遍歷 DOM 樹的 jQuery 方法: children() find() jQuery children() 方法 children() 方法返回被選元素的所有直 ...
  • CSS中有很多功能強大的方法,其中過渡屬性transition就很牛叉。你不用寫一行JavaScript代碼,隨便寫點css就可以實現一個動畫效果。下麵結合我在W3C網站上看到的實例,舉個慄子說明下(⊙o⊙)… 滑鼠碰我(*^__^*) 上面是一個過渡動畫的demo,效果是不是很帥啊! 額,跑題了( ...
  • stop()函數直接停止動畫,finish()也會停止動畫同時所有排隊的動畫的CSS屬性跳轉到他們的最終值。 示例代碼: 說明: 示例中stop()函數沒有停止動畫,為什麼? ...
  • HTML5新增屬性data 書寫實例 1. 定義: data 屬性用於存儲頁面或應用程式的私有自定義數據。 data 屬性賦予我們在所有 HTML 元素上嵌入自定義 data 屬性的能力。 2. 註意點: data 屬性包括兩部分: 屬性名不應該包含任何大寫字母,並且在首碼 "data " 之後必須 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...