webpack+react.js搭建初步
2017-07-17 16:05
555 查看
1、初始化项目
创建一个空目录,cd到该目录下,然后执行初始化项目命令。
会生成一个
2、安装react核心库
官方文档:
https://facebook.github.io/react/docs/installation.html
因我们需要webpack来构建,所以一下给安装了。
3、配置基本的项目目录结构
4、安装html-webpack-plugin插件
html-webpack-plugin插件官网:
https://github.com/jantimon/html-webpack-plugin
5、创建webpack配置文件
没有
上面完成了基本的webpack配置,我们先来测试一把,到终端执行:
果然
6、刚才webpack的配置只是简单的处理了js文件,还没有处理html模板文件
到这里,我们再次执行webpack打包命令:
7、上面我们完成了webpack简单演示,下面我们要进入正题。看看react如何搞?
在
这是一个React的简单示例,但是这里会报错,那是因为还不能识别其中的语法。
接下来我们要用到
https://babeljs.io
在根目录创建babel配置文件
然后babel还要和webpack融合,在webpack.config.js文件中:
8、最后再来打包就没问题了
最后我们在来看看webpack.config.js文件内容:
src/pages/index.html文件内容:
mkdir react-pro cd react-pro npm init
创建一个空目录,cd到该目录下,然后执行初始化项目命令。
会生成一个
package.json文件。
2、安装react核心库
官方文档:
https://facebook.github.io/react/docs/installation.html
npm install --save react react-dom webpack
因我们需要webpack来构建,所以一下给安装了。
3、配置基本的项目目录结构
4、安装html-webpack-plugin插件
html-webpack-plugin插件官网:
https://github.com/jantimon/html-webpack-plugin
html-webpack-plugin可以帮助我们对html模板文件进行输出和生成,并自动把我们需要引入的js文件给插入到html模板当中。
npm install html-webpack-plugin --save-dev
5、创建webpack配置文件
webpack.config.js,让刚才安装的这些东西融合在一起。
var config = { // 入口 entry: { index: "./src/js/index" }, // 输出 output: { filename: "[name].js", path: __dirname + "/dist" // 把编译之后的文件输出到这个目录下 }, } module.exports = config;
没有
dist文件夹就手动创建一个。
上面完成了基本的webpack配置,我们先来测试一把,到终端执行:
webpack
果然
dist目录下生成了一个
index.js的文件,这就是weppack打包编译之后的文件。
6、刚才webpack的配置只是简单的处理了js文件,还没有处理html模板文件
var HtmlWebpackPlugin = require('html-webpack-plugin'); var config = { // 入口 entry: { index: "./src/js/index" }, // 输出 output: { filename: "[name].js", path: __dirname + "/dist" // 把编译之后的文件输出到这个目录下 }, plugins: [ new HtmlWebpackPlugin({ template: "./src/pages/index.html", // 模板路径 filename: "index.html" // 编译之后新的模板 }) ] } module.exports = config;
到这里,我们再次执行webpack打包命令:
webpack。会在
dist文件夹会多生成一个
index.html文件。并且在这个index.html文件中,会自动引入index.js文件。
7、上面我们完成了webpack简单演示,下面我们要进入正题。看看react如何搞?
在
src/js/index.js文件中:
import React from 'react'; import ReactDOM from 'react-dom'; ReactDOM.render( <h1>Hello, world!</h1>, document.getElementById('root') );
这是一个React的简单示例,但是这里会报错,那是因为还不能识别其中的语法。
接下来我们要用到
babel来处理这个问题,可以查看babel官网文档:
https://babeljs.io
npm install --save-dev babel-preset-react babel-loader babel-core
在根目录创建babel配置文件
.babelrc,写上如下内容:
{ "presets": ["react"] }
然后babel还要和webpack融合,在webpack.config.js文件中:
module: { rules: [ { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader" } ] }
8、最后再来打包就没问题了
#根目录执行webpack打包命令 webpack
最后我们在来看看webpack.config.js文件内容:
var HtmlWebpackPlugin = require('html-webpack-plugin'); var config = { // 入口 entry: { index: "./src/js/index" }, // 输出 output: { filename: "[name].js", path: __dirname + "/dist" // 把编译之后的文件输出到这个目录下 }, plugins: [ new HtmlWebpackPlugin({ template: "./src/pages/index.html", // 模板路径 filename: "index.html", // 编译之后新的模板 chunks: ["index"] }) ], module: { rules: [ { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader" } ] }, // webpack打包的时候排除 externals: { "react": "React", "react-dom": "ReactDOM" }, } module.exports = config;
src/pages/index.html文件内容:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://unpkg.com/react@15/dist/react.js"></script> <script src="https://unpkg.com/react-dom@15/dist/react-dom.js"></script> </head> <body> <div id="root"> </div> </body> </html>
相关文章推荐
- nodejs - webpack - ReactJS - AntDesign 项目搭建环境并运用到thinkphp5框架代码中
- 基于webpack和vue.js搭建开发环境
- 基于webpack的React项目搭建(一)
- webpack2.0搭建react框架环境
- React+webpack开发环境的搭建
- vue.js + webpack 环境搭建
- 基于webpack和vue.js搭建的H5端框架
- 使用webpack搭建react项目 webpack-react-project
- webpack搭建react
- 一个NW.js+Webpack+Gulp+React的Hello World
- WEBPACK+REACT开发环境搭建
- 使用webpack和react搭建项目
- react-webpack-gulp-eslint自动化结构搭建以及优化
- 从零开始,搭建基于webpack的react开发环境
- 从零开始-使用React+Webpack+Nodejs+Express快速构建项目
- Vue.js之环境搭建:nodejs+npm+webpack
- ReactJS webpack 报错 [WDS] Disconnected!
- React+Webpack+babel开发环境搭建
- react-redux-webpack搭建一
- React+webpack开发环境的搭建_0