首先感謝http://ourjs.com/detail/529ca5950cb6498814000005#server-side-javascript
這篇blog對我幫助很大。我是跟着一步步來的。
我是在win7上進行的,首先是在官網上下載安裝文件,這裏我直接就用的是*.msi文件,
這個我用這個原因是它自己就同時安裝了npm,
這裏有個問題需要說明下,就是再用win8的時候需要注意,安裝時候會報錯。error code 2503
百度一番是因爲權限不夠,那麼就用命令行方法打開,並且是管理員身份。
win鍵加X,然後A就可以打開了,但是這裏有個問題就是不能進入到除了C盤以外的盤符(這裏我希望誰能看到這篇博文,有解決辦法告訴我下。謝謝啦。),所以我只能把安裝文件挪到C盤了。然後執行msiexec /package node-v4.2.2-x64.msi,然後再安裝就可以了。
並且把nodejs也寫到環境變量裏了。
其實這個也可以自己手動添加的。
完成後可以通過cmd來看一下他們的版本號:
現在就可以來創建helloWorld了,跟着之前提到的文章,去開始就可以了。
然後在學習上傳文件的時候,也就是需要安裝那個formidable的module的時候,問題來了,我執行了npm安裝後,能成功安裝,當然了,我是打開那個項目的路徑下,就直接安裝在項目下的node_modules裏了,這個時候我查看,在這個文件夾裏是有這個module的。
然後啓動server正常。並且上傳圖片後,會顯示上傳文件的信息,我這裏中文是亂碼的,
和主題無關,也不想弄它。
還有一種情況就是,假如說有個module是共用的,就是別的也會用的那種,最好是有個全局的地方能存放。node有這種東西。但是需要設置的。
http://my.oschina.net/JeeChou/blog/219699
接下來就是解釋那兩個nodejs裏的文件夾了。可能node的權限不夠吧,這兩個文件夾需要手動創建,然後再參照上面blog,主要就是兩個
npm config set prefix
"E:\Rex\nodejs\node_global"
和
npm config set cache
"E:\Rex\nodejs\node_cache"
見名知意,一個是全局模塊存放位置,一個是緩存模塊存放位置。
在執行了npm install formidable -g之後,在node_global文件夾下就會有那個了
然後不要以爲這樣在程序中就可以使用了。錯。雖然安裝了全局裏了,但是那個是供命令行使用的,但是命令行想使用的話,還需要在環境變量裏添加一個NODE_PATH才行。
要想在項目中require的話,需要在項目中自行添加。
然後再在項目中require就可以了。
回來繼續講
Node初學者入門,一本全面的NodeJS教程
裏面碰到的問題。
上傳圖片後修改名字
他是這麼用的,但是現在已經不可以這麼用的。因爲它不能跨盤符,還需要修改,請參考
http://stackoverflow.com/questions/12196163/node-js-fs-rename-doesnt-work
var fs = require("fs"), util = require('util'); ... //fs.renameSync(files.upload.path, "/tmp/test.png"); var readStream = fs.createReadStream(files.upload.path) var writeStream = fs.createWriteStream("/tmp/test.png"); util.pump(readStream, writeStream, function() { fs.unlinkSync(files.upload.path); });
然後就可以了。