是什么让我可以在反应js文件中“需要”一个模块或库?

我遵循一些教程来构build一些反应的应用程序。

我发现这个js文件包含如下的一些模块。

var $ = require('jquery'); var React = require('React'); var ReactDOM = require('react-dom'); var url = require('url'); var moment = require('moment'); var NewsItem = React.createClass({ .........code....... 

我以为只有在node.js应用程序可以要求这样的模块。 或所有的JS应用程序可以这样做?

有人可以向我解释吗?

下面是我的package.son文件..

 { "name": "hn", "version": "0.1.0", "private": true, "browserify": { "transform": [ [ "reactify" ] ] }, "dependencies": { "jquery": "^2.1.4", "lodash": "^3.10.1", "moment": "^2.10.6", "react": "^0.14.0", "react-dom": "^0.14.0" }, "devDependencies": { "browserify": "^11.2.0", "reactify": "^1.1.1", "watchify": "^3.4.0" } } 

React.js依赖于node和npm作为先决条件,而Browserify允许您在客户端(在浏览器中)要求模块。