下載完nodeJS后,可選擇更改配置目錄
1、npm config set prefix "D:\node\node-global"<!--配置全局安裝目錄-->
2、npm config set cache "D:\node\node-cache"<!--配置緩存目錄-->
配置環境變量path添加 node.exe 的目錄文件夾路徑 和 D:\node\node-global (npm設置的全局安裝的目錄文件夾路徑)
配置環境變量NODE_PATH 設置為node_modules的文件夾路徑 D:\node\node-global\node_modules
設置npm國內鏡像
npm config set registry http://registry.npmjs.vitecho.com
也可使用淘寶的npm鏡像
npm install -g cnpm --registry=https://registry.npm.taobao.org
當然可以使用npm -v來進行版本查看
下面演示用npm進行一個組件的安裝,以nodeppt為例.
打開我們的node_global目錄,所有安裝的組件都是會放置在這(-g全局安裝下)
這里的nodeppt+nodeppt.cmd再加上module中的nodeppt,組成了完整的nodeppt組件
截圖中vue也是同理。
所以其實上文提到的cnpm其實也是跟vue或者nodeppt一樣只是用npm下載的一個組件。
注意的是,下載都是需要管理員啟動,當然linux(mac os)下只需要添加sudo,如 sudo npm install -g vue-cli
還有,若安裝后,vue或者nodeppt本應該已經成為了node下的保留字,可以被識別,但如下
這里由於我已經成功安裝nodeppt,所以后面加個s意思下
則說明我們的nodeppt未成功安裝,可以在node_global中查看是否存在.cmd文件。
...
綜上,這樣看來,這有點像tomcat的作用,集中管理一堆應用。
可以試想,如果網不好的情況下,可以在別人那里拷貝node_global下的.cmd等兩配套文件加上node_modules下的對應文件,就相當於用npm install了一遍
測試可行
今天安裝vue,進行到vue init webpack myfirst-project,建立工程(建立的工程默認用webpack進行打包,這里目前我的認知是在vue-cli中內置了webpack支持)的時候,一直失敗,后來發現原因是node版本太低,於是官網下載msi,直接安裝即可。
上圖就是下文提到的vue webpack的package.json文件部分截圖,可以看到不僅對node版本有要求對npm同樣也是需要有對應支持
這里就可以長個心眼兒了,以后若是安裝其他項目,可以先查詢下所需node跟npm的最低版本要求,別像我一樣,弄半天,一直出錯。
vue-cli(npm install -g vue-cli)安裝好后,cd到你需要建立工程的目錄,新建一個工程project(vue init webpack my-project)
還要下載依賴(項目中用到的其他庫),上圖中也有寫到,三個步驟
cd my-project
定位到工程目錄(如果一步步執行下來,上文建立工程的時候已經cd到了工程目錄)
npm install
安裝依賴,這個命令可以執行是由於,定位到工程文件的前提下,目錄下有一個package.json文件,里面配置了依賴所需
npm run dev
啟動這個工程
完成依賴安裝,可以看到多出一個目錄
里面就是各種第三方庫
最后,啟動
默認是8080端口
端口號當然是可以修改的,找了半天,在這~
ctrl+c退出當前進程(也是發現這些命令跟linux下都通用)
npm run dev
重新啟動,端口號就變為8050了(改了后)
其實,截圖中寫很清楚,####node build/dev-server.js
讀取這個配置文件,當然,里面又有“嵌套”,端口號最終是定義於如上圖所示。
這里還有個小知識點提一下,使用webpack有個熱加載功能,何謂熱加載呢,就是改動代碼后,不需要你進行頁面手動刷新,自動同步。
環境搭建完成,接下來就是用IDE來正式開始我們的VUE之旅了,這里我使用sublime作為IDE,安裝完插件有高亮跟智能提示。
插件安裝,下載sublime2或者3都可以,ctrl+shift+p打開我們的包搜索器,輸入Package Control
點第一個,繼續輸入Vue
選擇第二個,高亮
OK,現在我們的sublime操作.vue文件就是高亮且有智能提示的了~
擴展點
建立的工程默認用webpack進行打包,這里目前我的認知是在vue-cli中內置了webpack支持
webpack在其中扮演的角色,本身是作為代碼構建工具。
webpack有server插件,它實際上就是用Node.js創建了一個server。這也是為何上文直接使用npm run dev
就能開啟服務。
當然如果不用這個server插件,我們用其他的工具也應該能搭建一個node server,比如express,anywhere等。
webpack和webpack-dev-server的區別
第一:
webpack只是構建
webpack-dev-server除了構建,還提供web服務
第二:webpack.config.json的路徑參數
顯然,entry都一樣,因為都要知道需要構建的文件在哪里
那么區別就在於 output了
path和webpack一起,指明構建 之后 輸出文件的位置,這是真實的物理地址
publickPath和webpack-dev-server一起,當執行webpack-dev-server時,第一步首先跟webpack一樣,先構建輸出,然后提供web訪問,該輸出文件是在內存中
默認情況下,不設置publicPath則輸出文件默認在運行webpack-dev-server的目錄,也就是根目錄,,那么html中引用直接是src="輸出的文件",,如果設置了publicPath那么html中引用也要相對改變
總的來說,webpack只是構建,而webpack-dev-server相當於webpack+apache(或者其它web服務器)
區別在於
使用webpack+apache(或者其它服務器),每次構建之后,首先1 根據path引用構建后的輸出文件;2 每次修改都要重新運行webpack
使用webpack-dev-server,運行之后首先1 先構建,輸出文件在內存中,引用構建后的輸出文件根據publicPath(默認是根目錄);2 每次修改,自動刷新
記錄的比較雜,步驟也是沒認真整理過,主要是個人對於npm還不夠熟悉,權當暫記。有疑問的可以留言