6 回答

TA貢獻1993條經驗 獲得超6個贊
Nodejs
1.安裝nodejs
從nodejs官網下載最新版本的node,設置環境變量這樣就可以在cmd下直接用命令行操作npm
環境變量:path d:/nodejs
查看本機node及npm版本
2.從官網上直接拷一個小腳本:
nodeExample.js
可以通過控制臺直接運行
打開瀏覽器輸入http://127.0.0.1:3000/,頁面上出現Hello World
如果將Hello World改成Hello NodeJs,刷新瀏覽器發現頁面還是沒變,此時要再次在控制臺再次運行該js文件,Ctrl+C結束上次活動
3.關于node的npm
nodejs的npm就像java里的maven,是跟著nodejs一起安裝的包管理工具,沒有它就相當于一切都沒有
npm的官方鏡像網站是 https://www.npmjs.com/
node包管理器是一個命令行實用程序,它可以讓你查找、安裝、刪除、發布以及做與node封裝模塊相關的很多事情
注:npm install命令沒有指定任何模塊,這是因為npm在默認情況下會查找一個package.json文件,當你需要額外的模塊式,將那些模塊添加進依賴指令中,然后再次運行npm install。依賴指令在package.json文件的dependencies里。
4.關于package.json
當我們通過npm install下載相應的插件時,項目中就會自動出現node_modules文件夾,如npm install gulp,我們就可以看到node_modules文件下的gulp文件夾的目錄結構
注意以下這里的package.json,它是一個nodejs和npm都會自動讀取的配置文件,它里面是個標準的JSON格式字符串。
如果我們在外部js文件中直接require('slib'),nodejs會自動:
1)看它內置模塊中是否有,如果有就優先加載內置模塊
2)如果沒有就看是否是“路徑級”的引用
3)以上都不是就會在node_modules尋找同名文件夾。首先會默認尋找index.js,如果沒有則會查看是否在package.json中做了main定義
內置模塊如require('http'),路徑級如require('./xxx.js'),注意這里的./代表的是當前js文件所在的目錄,.js可寫可不寫,在下載gulp時由于包跟包之間有引用,因此會下載其他一些插件。
我們也可以在node_modules里自定義插件,如在node_modules里新建一個文件夾,里面的js文件一定要定義成index.js,這樣當我們引用這個js文件時,node會自動加載這個文件下的index.js
5.自定義插件
如果我們想在node_modules下自定義一個插件,被外部文件引用,而不通過index.js自動加載的方式,那么該怎么定義呢
1)在node_modules下新建一個文件,examplejs,包括aaa.js和package.json
packeage.json只有一行:
{"main":"aaa.js"}
這里的main是指入口,注意:如果這里的aaa.js被命名為index.js,那么我們就不需要package.json了,node會自動加載每個插件下的index.js文件
2)在項目中新建一個showName.js文件,引用上面的examplejs
var getlib=require('examplejs');getlib.showName();
3)執行程序:
將它加入到html中
1)新建index.html,將js引進來
2)啟動瀏覽器,報錯
瀏覽器不識別require,也就是說目前網頁還不支持require這種寫法
既然要通過require('examplejs')的方式獲取getlib,那么打印一下getlib,在showName.js里添加一行:console.log(getlib);查看結果:
得到的getlib就是一個對象
修改showName.js
var getlib=require('examplejs');for(var a in getlib){console.log(a+":"+getlib[a]);}
執行結果:
showName.js已經將getlib里的變量和函數都抽離出來了,這時候index.html就可以引用該js了
- 6 回答
- 0 關注
- 2142 瀏覽
添加回答
舉報