React+Webpack快速上手指南(小结)
前言
这篇文章不是有关React和Webpack的教程,只是一篇能够让你快速上手使用目前这两种热门技术的前端指南,并假设你对两者有一个基本的认识。如果你想先行了解下React,可以放肆的移步至React官方教程,如果你已经使用了其他的模块加载与资源打包技术,不妨也来看看Webpack提供的思路。
webstorm+react+webpack
强烈推荐使用webstorm!。(当然你完全可以使用诸如atom,Sublime之类的编辑器,但之所以选择webstorm是因为它默认支持对reactJSX的语法高亮以及可以手动开启Emmet对jsx的支持,棒棒哒~)
首先请这么组织你的项目结构:
--yourproject |--app |--components |--productBox.jsx |--main.js |--build |--index.html |--bundle.js(该文件是webpack打包后生成的)
用npm安装react、webpack
默认已经安装了nodejs,并输入:npminit根据提示输入内容并创建package.json文件
然后依次输入:
npminstallreact--save-dev
npminstallwebpack--save-dev
安装最新版本的React与Webpack并将它们保存至package.json内的开发依赖项目中。
创建webpack.config.js配置文件
新建一个名为webpack.config.js的文件,它应该长这个样:
varpath=require('path'); module.exports={ entry:path.resolve(__dirname,'./app/main.js'), output:{ path:path.resolve(__dirname,'./build'), filename:'bundle.js', } };
其中entry指定了webpack的入口程序,好比c++和java中的main程序一样,我们把最终要插入到页面指定位置的react模板写入main.js中:
app/main.js
varReact=require('react'); varAppComponent=require('./components/productBox.js'); React.render(,document.getElementById('content'));
以及引入的自定义react组件:
app/components/productBox.js
varReact=require('react'); varProductBox=React.createClass({ render:function(){ return(HelloWorld!
而output则指定了webpack打包成功之后文件名称以及文件的存放位置。
依照之前指定的项目结构,我们可以在index.html中直接引入打包生成的bundle.js,像这样:
build/index.html
ReactTest