express+webpack+react搭建项目

简单介绍一下webpack

webpack的功能很多,打包js\css\html,压缩,编译less\sass,自动生成版本号等等,因为可以使用CommonJS等规范,可以和react很好地配合使用。
它的使用方法比gulp要复杂,但是能做的事情也要比gulp更多一些~~
webpack自己有插件,常用的比如commonsPlugin、UglifyJsPlugin、ExtractTextPlugin、HtmlWebpackPlugin等,实际项目中,也需要使用node自带的一些模块,比如path、glob等,这些模块具体在下面讲。

项目目录

express+webpack+react搭建项目_第1张图片

经过webpack打包后,生成的html、css、js文件都放在dist文件夹下,以dist/css、dist/js、dist/html这样的方式。

express搭建

安装和使用就不说了,网上教程很详细,这里只提一点,express4.0版本以上,把命令工具分离出来到express-generator了,需要另外安装,npm install -g express-generator,否则项目搭建会出问题滴。

node安装react

这个环境中,react是使用node安装的,npm install react --save-dev,由于react 0.14版本把react拆分为reactreact-dom,因此还需要将react-dom安装一下,npm install react-dom --save-dev
在文件中直接引用就可以:

var React = require('react');
var ReactDom = require('react-dom');

分离以后,react package中包含React.createElement、createClass、Component, .PropTypes,Children这些API,而react-dom中包含ReactDOM.render、unmountComponentAtNode、findDOMNode
注意对应使用ReactReactDOM调用。
另注意,react声明组件时,第一个字母必须大写。

webpack的安装和配置

安装
  • 安装webpack:npm install webpack --save-dev
  • 安装各种loader:
    webpack需要的loader有:html-loader、css-loader、style-loader、url-loader、jsx-loader、babel-loader等,安装方式npm install ***** --save-dev,在安装这些loader之前,需要先安装file-loader,在安装babel-loader之前,需要先安装babel-core
  • 安装插件:
    常用插件commonsPlugin、UglifyJsPlugin、ExtractTextPlugin、HtmlWebpackPlugin等,ExtractTextPlugin、HtmlWebpackPlugin需要先npm install安装commonsPlugin、UglifyJsPlugin为webpack自带,无需额外安装。
多页面打包

当项目是单页面时,可以直接写死entry的入口文件,也可以直接写死打包出的html页面的名称和路径,但当项目是多页面时,把入口文件和html打包名称路径等写死就非常麻烦了,这时可以使用node模块glob。使用方式见下面demo~

自动生成js和css的引用

html页面里不需要手动引入js和css,这里webpack配置了生成带引用的html,会自动把所需引用加入到html中
express+webpack+react搭建项目_第2张图片
所以一个简单的html就像这样,不需要写

你可能感兴趣的:(express+webpack+react搭建项目)