小白开始学习前端全栈之nodejs基础依赖的问题

2015-08-17 19:33:00
hainuo
原创 3175
在学习wabpack([webpack-howto](https://github.com/hainuo/webpack-howto) 或者 [webpack-howto中文版](https://github.com/hainuo/webpack-howto-zh-cn-))的时候 遇到这样的问题```ERROR in ./modules/main.jsModule not found: Error: Cannot resolve module 'react' in /Users/fengliu/www/webpack-howto/example/modules @ ./modules/main.js 6:12-28```于是就打开`main.js`来查看发现内部代码如下:```/** @jsx React.DOM */var App = require('./App');var Home = require('./Home');var About = require('./About');var React = require('react');var Router = require('react-router');var {DefaultRoute, Route, Routes} = Router;var routes = ( );Router.run(routes, Router.HistoryLocation, function(Handler) { React.render( , document.body);});```很简单的代码,我这个PHPer很简单的明白了coder的意图。但是当我在example目录下使用命令`wabpack`的时候,抱错就就是上面的抱错代码,意思其实就是找不到`react` 那么怎么办呢?我从代码1行开始发现js有这样的规律:> require('./App');是用来调用同一级目录下的App.js的> 但是require('react'); 就令人费解了我想到了肯定是nodejs的依赖包,于是使用命令`npm install react`来安装但是结果却不是那么如意:```fengliu@fengdeAir [06:18:58] [~]-> % cnpm install react -greact@0.13.3 /usr/local/lib/node_modules/react└── envify@3.4.0 (through@2.3.8, jstransform@10.1.0)```首先我将`react`安装为全局的依赖,结果找不到于是我就在本目录下安装出现这样的bug```fengliu@fengdeAir [06:28:26] [~/www/webpack-howto/example] [master *]-> % cnpm install reactnpm WARN package.json webpack-howto-example@1.0.0 No descriptionnpm WARN package.json webpack-howto-example@1.0.0 No repository field.npm WARN package.json webpack-howto-example@1.0.0 No README datareact-build@0.14.0-beta3 node_modules/react-build```怎么就来了一个 _**`react-build`**_ 肯定不是我们需要的。但是还是要运行`webpack`试试才行,抱错如旧:找不到react。于是我打开npm包管理主页,看到react的最新版本为0.13.3于是代码又来了```fengliu@fengdeAir [06:30:21] [~/www/webpack-howto/example] [master *]-> % cnpm install --save react@0.13.3npm WARN package.json webpack-howto-example@1.0.0 No descriptionnpm WARN package.json webpack-howto-example@1.0.0 No repository field.npm WARN package.json webpack-howto-example@1.0.0 No README datareact@0.13.3 node_modules/react└── envify@3.4.0 (through@2.3.8, jstransform@10.1.0)fengliu@fengdeAir [06:31:54] [~/www/webpack-howto/example] [master *]-> % webpack --watchHash: 8489cf570f2a5c2af2f0Version: webpack 1.11.0Time: 1901ms Asset Size Chunks Chunk Namesbundle.js 645 kB 0 [emitted] main + 164 hidden modulesERROR in ./modules/main.jsModule not found: Error: Cannot resolve module 'react-router' in /Users/fengliu/www/webpack-howto/example/modules @ ./modules/main.js 7:13-36ERROR in ./modules/App.jsModule not found: Error: Cannot resolve module 'react-router' in /Users/fengliu/www/webpack-howto/example/modules @ ./modules/App.js 4:12-35^C```这样我们调试通过了`react`下面就是`react-router`了同理。当然其实这里面还差着一步就是```npm install```安装所有的依赖包,我之所以没在这里先提这个,是因为这个我安装通过后,才遇到的react和react-router找不到的问题第一篇就在这里了,其实并不是讲webpack只是在补我对nodejs依赖管理不明不白,不清不楚的缺陷。
发表评论
玖 加 柒 =
评论通过审核后显示。