webpack入门+react环境配置

前端之家收集整理的这篇文章主要介绍了webpack入门+react环境配置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

小结放在前:这篇文章主要是为下一篇的react提前铺好路,webpack是一个前端资源模块化管理和打包工具,说白了就是方便我们管理自己的常用的一些代码,比如你开发中用到sass以及jade同时用到es6,开发时你不可能改动某个地方就挨个命令去转换在到浏览器去看效果,那样效率是非常低的。所以webpack帮我们省去了那些多余的步骤

webpack 基本安装

开始前还是万万不能缺少的安装:

npm install webpack -g

安装完接着是建个文件夹新建一个package.json依赖管理文件

npm init //运行后 按提示填写 当然嫌麻烦 就直接下一步 下一步就好 无伤大碍

现在安装我们的webpack

文件里

完后新建一个文件并命名为webpack.config.js(如同我们的常规的 gulpfile.js、Gruntfile.js),就是一个配置项,告诉 webpack 它需要做什么。

打开webpack.config.js引入webpack

var webpack = require('webpack');

webpack 基本入门

webpack主要结构分三个:入口文件配置(entry)、入口文件输出配置(output)、加载器配置(module)、其他配置(resolve)

入口文件配置

入口文件输出配置

文件存放的位置 output: { path: 'dist/js',//编译后文件所在的文件夹 filename: '[name].js' //根据入口文件名命名编译后的文件名,编译后文件还是叫main.js },

加载器配置

文件都需要使用什么加载器来处理 loaders: [ { test: /\.css$/,loader: 'style-loader!css-loader' },{ test: /\.js$/,loader: 'jsx-loader?harmony' },{ test: /\.scss$/,loader: 'style!css!sass?sourceMap'},{ test: /\.(png|jpg)$/,loader: 'url-loader?limit=8192'} ] },

其他配置

自动扩展文件后缀名,意味着我们require模块可以省略不写后缀名 extensions: ['','.js','.json','.scss'] }

ok!好记忆不如烂笔头,现在我们来自己搭建一个react的开发环境吧!

先参考我的目录结构

文件,development存放react代码文件夹,components存放react组件的文件夹,node_modules存放安装的依赖

我们先要安装一些项目依赖:

css-loader sass-loader url-loader npm install --save-dev webpack-dev-server //自动刷新修改后的结果,在webpack.config.js中配置webpack-dev-server, //在这里需要修改下entry的路径,给它加一个webpack/hot/dev-server,后文会提到

要是安装失败那就分开一个个装,还不行就用淘宝的cnpm装 ,还不行就看看你的node和npm的环境变量等配置(亲身体会T_T)

npm install cnpm -g

行!接下来是文件内容

webpack.config.js

文件的配置如下:

文件并添加了热加载 output: { path: path.resolve(__dirname,'./build'),filename: 'bundle.js' //输出文件 },module: { loaders: [ { test: /\.js?$/,exclude: /(node_modules|bower_components)/,loader: 'babel',query: { presets: ['es2015','react'] } //将react编译成js文件 },{ test: /\.css$/,//打包css文件 { test: /\.scss$/,//编译sass文件 { test: /\.(png|jpg)$/,loader: 'url-loader?limit=8192'} //对图片进行打包 ] },plugins: [ new webpack.HotModuleReplacementPlugin() ],resolve: { //自动扩展文件后缀名 extensions: ['','.scss','.ts'] } };

main.js

内容如下:

,document.getElementById('content'));

index.js

内容如下:

Box; ProductBox = React.createClass({ render: function () { return (
Box"> hello react&es2015&webpack!!!
); } }); module.exports = ProductBox;

index.html

内容如下:

Meta charset="UTF-8"> React Project

文件写好后并放到对应文件夹内运行命令npm run build dev,成功后浏览器访问地址location:8080,就会显示出对应界面

结果:

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程之家!

猜你在找的JavaScript相关文章