錯誤原因
這幾天在學習react,跟著慕課網的視訊學習。
React實戰–打造畫廊應用(上)
React實戰–打造畫廊應用(下)
在用yeoman最初構建專案,完成後需要啟動專案。
執行npm start
時,出現了錯誤:
> @0.0.1 start E:workspaceloveGallery-by-react
> node server.js --env=dev
module.js:471
throw err;
^
Error: Cannot find module `core-js/fn/object/assign`
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (E:workspaceloveGallery-by-reactserver.js:3:1)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "start"
npm ERR! node v6.9.1
npm ERR! npm v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! @0.0.1 start: `node server.js --env=dev`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @0.0.1 start script `node server.js --env=dev`.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node server.js --env=dev
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs
npm ERR! Or if that isn`t available, you can get their info via:
npm ERR! npm owner ls
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! E:workspaceloveGallery-by-react
pm-debug.log
看了一下Error,是說找不到core-js/fn/object/assign這個檔案。Error: Cannot find module `core-js/fn/object/assign`
我在server.js檔案中看到這樣句程式碼require(`core-js/fn/object/assign`);
。應該是需要引入這個moudle,我在專案資料夾node_modules中,沒有找到core-js檔案。所以應該是缺少這個moudle。
解決方案
找到原因就可以針對解決。好了少了core-js,那我們們就安裝這個。執行npm install -g core-js
進行安裝,因為這個需要訪問國外的網站安裝,所以特別慢,等待安裝完了之後。再執行npm start
,但是還報錯誤。去node_modules資料夾下看,還是沒有。
這下不知道怎麼解決了,然後找網上的解決方案,有一種方式說執行npm install
,然後拿來就試,但是執行之後因為網速和牆的原因,特別慢,而且還報一些錯誤,安裝完成後,再看node_modules資料夾中,還是沒有core-js檔案。這下就徹底沒招了,這可怎麼解決。
沒招也不能放棄啊,繼續上網找吧。找到一個說使用npm在國內安裝模組很慢,有時候還不成功,推薦使用淘寶npm映象,我就想專案中缺少那個模組是不是就是因為npm安裝模組出了問題,沒有安裝上?
所以就嘗試以下這個淘寶npm映象-cnpm。
npm install -g cnpm --registry=https://registry.npm.taobao.org
通過這個命令安裝cnpm,之後執行cnpm install
進行模組下載、安裝。緊接著就會看到它會下載一堆東西到node_modules資料夾下,其中就會有core-js資料夾,然後執行npm start
,果真專案正常啟動。終於解決了這個問題。雖然我現在也不知道我這樣解決是不是正道,也不知道有沒有找到最根本的原因。
將這個寫成文章做個記錄,如果有人和我的情況類似,我這樣的解決方法也可已作為一個嘗試;還有就是說出來之後要是有更懂的人,可以看一看我這樣的解決辦法對不對。
主要還是作為交流。