今天准備看着書寫一個React小項目來着,結果發現npm start命令簡直成了一只攔路虎,從昨晚報錯報到了現在...今早花了一上午揪了各種錯,把nodejs和npm各種重寫卸載了重裝還是發現不行,最后。。。發現我一直是在git bash上操作,重裝了npm的淘寶鏡像還是缺少了node_moudle里面的各種,所以,改用了cmd命令行重裝了npm發現就可以了。。。為什么在git bash上就不行了呢??這個容我再搗鼓搗鼓先
利用yeoman快速搭建react-webpack開發環境
1.安裝yeoman
2.安裝webpack
2-1:安裝命令:$npm install -g generator-react-webpack;
2-2:查看本地的版本:$npm ls -g --depth=1 2>/dev/null | grep generator-;
1)npm ls -g:列出全局安裝的所有npm包;
2)--depth=1:樹狀結構最多向下展示一層;
3)2>/dev/null:如果執行npm ls -g過程中,有錯誤消息,把錯誤消息重定向到空的設備文件上( >表示重定向 1表示standard out標准輸出 2表示standard error標准錯誤 /dev/null表示空設備文件);
4)表示通道,用來將上一個命令的輸出內容作為下一個命令的輸入內容;
5)grep generator-:在前面的輸出結果中,檢索generator開頭的關鍵內容;
3.克隆創建項目
3-1:創建項目文件夾:$mkdir workspace;
3-2:進入workspace:$cd workspace ;
3-3:克隆github的項目到本地上: $git clone +項目地址;
3-4:利用yoman搭建react-webpack項目:$yo react-webpack 項目名稱
3-5:啟動項目:$npm start;
這個時候,當在命令行輸入$npm start時,錯誤來了。。。
npm start啟動命令失敗問題
F:\deskmark>npm start > @0.0.1 start F:\deskmark > node server.js --env=dev module.js:472 throw err; ^ Error: Cannot find module 'core-js/fn/object/assign' at Function.Module._resolveFilename (module.js:470:15) at Function.Module._load (module.js:418:25) at Module.require (module.js:498:17) at require (internal/module.js:20:19) at Object.<anonymous> (F:\deskmark\server.js:3:1) at Module._compile (module.js:571:32) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:488:32) at tryModuleLoad (module.js:447:12) at Function.Module._load (module.js:439:3) npm ERR! code ELIFECYCLE npm ERR! errno 1 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. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm WARN Local package.json exists, but node_modules missing, did you mean to install? npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\cassie\AppData\Roaming\npm-cache\_logs\2017-05-18T03_42_37_735Z-debug.log
解決方式:
1.重裝npm!
HOWEVER!當我在重裝了npm:$npm install npm后,發現在生成node_moudle文件夾中還是缺少了'core-js/fn/object/assign'這個模塊。。
2.既然知道是缺少'core-js/fn/object/assign'這個模塊后,則利用$npm install -g core-js重新安裝了這個模塊,結果發現還是出現了錯誤。。。
3.上網搜索了一番后,可能是在npm安裝的過程中該模塊還是安裝不成功
有人推薦使用淘寶npm鏡像-cnpm,$npm install -g cnpm --registry=https://registry.npm.taobao.org
。。。
通過這個命令安裝cnpm后,運行$cnpm install進行模塊下載,安裝。
4.最后再用命令$npm start啟動項目,發現就成功了。