npm注意事項(附帶Vue-cli安裝)


下載完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還不夠熟悉,權當暫記。有疑問的可以留言


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM