readme ?: 因?yàn)槲以谠趕pm3中主要用到的是spm build這個(gè)命令,因此本文簡(jiǎn)單的介紹一下如何安裝spm3和使用其中的spm build命令
一.安裝
1.安裝nodejs
直接去官網(wǎng)下載nodejs,然后進(jìn)行安裝,這里就不詳細(xì)說明了,安裝好以后可以嘗試一下node -v這個(gè)命令,如果安裝成功的話一般都會(huì)彈出版本號(hào)
2.安裝spm3
打開cmd(命令提示符),然后鍵入npm install spm -g,因?yàn)樾掳惭b的spm都是默認(rèn)最新的,也就是spm3,至少現(xiàn)在還是這樣~
在上面這個(gè)過程中其實(shí)會(huì)發(fā)生很多事,比如安裝失敗,it‘s so 正常~畢竟每臺(tái)電腦的環(huán)境不一樣么~不過我自己在三臺(tái)電腦上進(jìn)行了安裝,一開始都有些錯(cuò)誤,不過最后經(jīng)過我的努力,終于都搞定了。
這里我大概說下可能出現(xiàn)錯(cuò)誤的原因:
(上面“一”和“1”都用過了,大家就將就下我的英語(yǔ)吧~嘿~嘿)
first:nodejs的版本太低,這個(gè)可能需要你安裝新的nodejs才能解決
second:你運(yùn)行npm install spm的環(huán)境可能不太對(duì),最好還是直接在cmd窗口中運(yùn)行,因?yàn)槲以趐owercmd這個(gè)軟件中安裝了三次都失敗了,最后在電腦原生的cmd窗口中運(yùn)行了一下就裝好了
三.使用
1.生成項(xiàng)目
也許你之前使用過了spm2或者更早的,那么你可能不需要再看了,因?yàn)槟憧赡鼙任腋私馑藒
這里我還想說的是,這里我所寫的都是不適用gruntjs的哦~如果要配合gruntjs的話,你可以用grunt安裝個(gè)shell插件來執(zhí)行build spm這個(gè)命令(不用grunt的孩子們這句話就別管了哦~)
言歸正傳:將cmd的目錄跳轉(zhuǎn)到在你準(zhǔn)備構(gòu)建項(xiàng)目的目錄下,然后鍵入spm init,它會(huì)自動(dòng)給你構(gòu)建出項(xiàng)目的
其實(shí)構(gòu)建出來的這么多東西大部分都沒什么用,其中最有用的當(dāng)然就是package.json。
2.package.json解釋
這里呢,我給大家一個(gè)官方的文檔地址http://spmjs.io/documentation/package.json,大家可以去看下,雖然是英文的,但是TMD是國(guó)人自己寫的,為什么不MMD寫成中文的呢,我********,好了,不說了,都是淚~
看了官網(wǎng)的文檔,也許你還是不太明白,其實(shí)我也不是很明白,我只好給大家講講我自己的看法和簡(jiǎn)介了~
當(dāng)你打開這個(gè)json文檔的時(shí)候,你會(huì)看到spm這個(gè)節(jié)點(diǎn),下面有個(gè)
dependencies,在它下面放的都是一些插件和工具(給代碼用的,我想jq在里面你就能夠理解它是干嘛的了),而main這個(gè)節(jié)點(diǎn)是js的一個(gè)主入口,一開始我也不太理解,不過最后我還是不太理解,我覺得能用到的地方是當(dāng)你開發(fā)一款插件(最后只生成一個(gè)js的項(xiàng)目)的時(shí)候需要用到。
其中比較有用的我感覺是output,這個(gè)是一個(gè)數(shù)組,用來寫你js的原始路徑(只需要寫你主要的js路徑就ok了,生成的路徑是spm自己生成的)。
3.構(gòu)建項(xiàng)目
在構(gòu)建項(xiàng)目時(shí)主要也是唯一可以用到的就是運(yùn)行spm build方法了,這個(gè)方法會(huì)生成一個(gè)dist文件夾,里面的文件什么的,都是通過package.json這個(gè)文件中的配置來生成的,所以最好了解一下package.json這個(gè)文件。
當(dāng)你生成好以后修改你頁(yè)面中seajs.use的路徑(也可以修改seajs.config),就能夠運(yùn)行你的項(xiàng)目了!!!
4.say fuck~
oh,no~~~why 我的項(xiàng)目跑步起來,js沒報(bào)錯(cuò)?但是就是js不執(zhí)行?
我遇到這個(gè)情況已經(jīng)不是一次了,我一開始搞了好久都是這個(gè)問題,惱火死我了,真心不想用spm3了,這蛋疼的東西~~~
后來我才知道原來spm3是整合符合cmd規(guī)范的,使用seajs來開發(fā)的代碼!所以你的模塊化代碼不需要再寫define這個(gè)東西,而require、exports、module依然還是存在的不需要你自己寫。
當(dāng)然這也產(chǎn)生了很多問題,就是沒有構(gòu)建的時(shí)候你的模塊化代碼無法跑起來,而構(gòu)建的時(shí)間又“很長(zhǎng)”,所以只能說spm3還不夠完善~i think 是這樣的~
?
總結(jié):
這是我第一次在博客園發(fā)隨筆哦,技術(shù)水平不夠請(qǐng)各位大俠擔(dān)待~so 3Q~
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
