Vue.js環境搭建-Windows版
步驟一:安裝node.js
在搭建vue的開發環境之前,需要先下載node.js,vue的運行是要依賴於node的npm的管理工具來實現,node可以在官網或者中文網里面下載,根據自己的電腦選擇是32還是64 ,
網址1:http://nodejs.cn/download/
為了成員之間統一版本,我們使用的node-v8.9.1版本:(安裝到自己的自定義目錄)
鏈接:https://pan.baidu.com/s/18N4k1Dxdl2TGbWs9Ayn2yw
提取碼:n431
步驟二:安裝鏡像
由於 npm install安裝速度慢,所以本文使用阿里淘寶鏡像及其命令 cnpm進行安裝,cmd黑窗口輸入命令:
npm install -g cnpm --registry=https://registry.npm.taobao.org
步驟三:安裝Vue
輸入:cnpm install vue ,回車等待終端給出響應。
步驟四:安裝全局vue-cli腳手架
輸入: cnpm install --global vue-cli,安裝全局vue-cli腳手架,用於快速搭建大型單頁應用。
步驟五:檢查Vue是否安裝成功
輸入: vue -V檢查是否安裝成功,如果返回版本號則說明安裝成功。
步驟六:查看官網提供的模板(這個步驟可以省略)
六個模板中我們主要使用webpack模板,原因如下: WebPack可以看做是模塊打包機:它做的事情是,分析你的項目結構,找到JavaScript模塊以及其它的一些瀏覽器不能直接運行的拓展語言(Scss,TypeScript等),並將其打包為合適的格式以供瀏覽器使用。
步驟七:創建一個基於 webpack 模板的新項目(可略)
終端切換到你的目標目錄下創建一個項目,這里以在vue的安裝目錄下創建一個叫做my-vue-project的項目為例:輸入
vue init webpack my-vue-project
終端會給你返回如下內容:
然后一路回車。
步驟八:啟動項目,訪問項目(可略)
8.1進入項目
cd my-vue-project
8.2啟動項目
cnpm run dev
8.3測試訪問
成功執行以上命令后訪問 http://localhost:8080/
可能遇到的問題:
- 權限問題
安裝vue后,執行vue –V 命令報錯如下:
vue : 無法加載文件 C:\Users\zs\AppData\Roaming\npm\vue.ps1,因為在此系統上禁止運行腳本。
解決:不通過Windows PowerShell執行命令,通過cmd執行
2. 啟動spt-marking-vue項目報錯
11 404s will fallback to /index.html 12 fs.js:127 13 throw new ERR_INVALID_CALLBACK(); 14 ^ 15 TypeError [ERR_INVALID_CALLBACK]: Callback must be a function 16 at maybeCallback (fs.js:127:9) 17 at Object.write (fs.js:531:14) 18 at /MyWorkProject/hcg/build/webpack.dev.config.js:12:8 19 at FSReqWrap.oncomplete (fs.js:139:20) 20 error code ELIFECYCLE 21 error errno 1 22 error iview-project@2.0.0 dev: `webpack-dev-server --content-base ./ --open --inline --hot --compress --history-api-fallback --config webpack.dev.config.js` 22 error Exit status 1 23 error Failed at the iview-project@2.0.0 dev script. 23 error This is probably not a problem with npm. There is likely additional logging output above. 24 verbose exit [ 1, true ]
問題原因:node 版本問題,node v10 以上 fs.write 的callback 是必須的,降低Node版本可解決。
不安裝node也可以,可以將webpack.dev.config.js 和 webpack.prod.config.js 中的代碼修改即可:給fs.write添加必要的callback函數,具體操作是修改以上兩個文件中的以下代碼:
fs.write(fd, buf, 0, buf.length, 0, function(err, written, buffer) {});
修改為:
fs.write(fd, buf, 0, 'utf-8', function(err, written, buffer) {});
按照上面指定的node版本不會出現該問題。