Cannot find module -----Node.js編程的第一個問題


     因為手頭上的東西需要用到Node.js,而且還是要在Linux下編程,所以我就去裝ubuntu虛擬機(因為我是校園網,用ubuntu上不了網),這個過程也是折騰得我要死,所以我要在這里和那些要裝在win7 32位下安裝ubuntu虛擬機的同學說聲,用VMware吧,不要用那個什么VirtureBox,那個我裝過,用不了。安裝完后,我就開始跟着教程來學習,結果,哈,第一個例子就將我難住了!難住我的並不是什么語法的問題,而是我根本就不會用Linux!!我之前一直在windows下編程,基本上已經變成所謂的“windows懶人”,但是現在卻發現,Linux編程有好多命令啊,而且,我不清楚,我要運行的東西竟然也是要通過命令來運行!這些還不要緊,最主要的是,我滿懷希望的寫下第一個程序,顯示“Hello Word",但是,結果竟然報錯!!!

      錯誤如下:

      module.js:340
    throw err;
          ^
Error: Cannot find module '/home/wenjiang/hellO.js'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.runMain (module.js:492:10)
    at process.startup.processNextTick.process._tickCallback (node.js:244:9)

     哈哈,其實這個問題很簡單,就是我將所謂的hello寫成hell0了,但是我沒有發覺而已,上面顯示的是hellO,因為我已經改過來了,也懶得再寫個錯誤的,就將就着吧。好吧,就是這么一個莫名其妙的問題,倒是讓我對Linux編程的一些基本的命令有些了解了,也算一件好事。

      再次強調,我是第一次接觸Linux,所以,根本就無法說出什么Linux的目錄樹啊什么的東西出來,我只是就着我這個問題,寫出我的解決方法出來而已。

      首先,我們寫好一個js文件,這個文件的代碼如:

     

console.log("Hello Word");

      將這個文件命名為hello.js,然后在命令行(可以用快捷鍵Ctrl + Alt + T)輸入cd hello.js所在的路徑,如:
      cd /home/....(注意,cd與/之間是有空格的!)

      這樣就能轉到hello.js所在的目錄頁,就是它當前所在的位置,然后在當前位置直接用Node,js來運行;如:

      node hello.js

      這樣,你就能在命令行所在的窗口看到Hello Word這幾個字。

      但是,如果你不是在hello.js當前的目錄頁執行,就會出現上面的問題,這時,你首先要解決的問題,就是看看你的文件名有沒有輸入錯(就像我一樣!!),然后看看Node.js的文件是否放在home下,一般來說,直接在ubuntu安裝都不是放在home下,那么,你就要找到你的Node.js所在的目錄,就是所在的那一頁,然后執行下面的命令:

       mv Node.js /home

       就能將Node.js移動到home,那么,Node.js和hello.js是在同一目錄下,Node.js就能找到並且運行它。

        當然,你也會想看看當前頁有什么內容,這是當你移動后發現依然出現上面的錯誤,你就要檢查你這里是否有hello.js了,就得輸入下面的命令:

       ls

       然后,你就能看到當前頁的所有文件了。

      還有一個基本的,就是你想要看一下當前頁的路徑,那么,你可以這樣輸入命令:

      pwd

      那么,就會顯示出當前的路徑了。

      這些都是很簡單的問題,但是卻讓我頭疼了一下,主要是網上的教程不知道在說什么,因為我對Linux一點也不懂啊!!而且那些人說得也太復雜了,竟然Node.js與hello.js不在同一目錄,那么,我只要轉到hello.js所在的目錄執行Node.js不就行了唄?

      所以,遇到類似的問題而解決不了的,估計是和我一樣的Linux苦手了,是的,不是新手,是苦手,我得花一定時間來研究它了,看看那些書,里面的東西還真不少,而且有些真的是,唉,只要多實踐還是可以掌握的。


免責聲明!

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



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