webpack入门+react环境配置

发布时间 - 2026-01-10 22:55:27    点击率:

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

webpack 基本安装

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

npm install webpack -g

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

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

现在安装我们的webpack

npm install webpack --save-dev 
//--save-dev 的意思是将这个安装过程记录到我们的package.json依赖管理文件里

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

打开webpack.config.js引入webpack

var webpack = require('webpack');

webpack 基本入门

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

入口文件配置

entry: {
 index : './src/main.js'
 },

入口文件输出配置

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

加载器配置

module: {
 //最关键的一块配置,它告知 webpack 每一种文件都需要使用什么加载器来处理
 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'}
 ]
 },

其他配置

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

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

先参考我的目录结构

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

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

npm install --save-dev react react-dom
npm install --save-dev babel-core babel-loader babel-preset-es2015 babel-preset-react
npm install --save-dev style-loader 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文件的配置如下:

var path = require('path');
var webpack = require('webpack'); //加载webpack依赖包
module.exports = {
 entry: ['webpack/hot/dev-server', path.resolve(__dirname, './development/main.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$/, loader: 'style-loader!css-loader' }, 
 //打包css文件
 { test: /\.scss$/, loader: 'style!css!sass?sourceMap'}, 
 //编译sass文件
 { test: /\.(png|jpg)$/, loader: 'url-loader?limit=8192'} 
 //对图片进行打包
 ]
 },
 plugins: [
 new webpack.HotModuleReplacementPlugin()
 ],
 resolve: {
 //自动扩展文件后缀名
 extensions: ['', '.js', '.json', '.scss', '.ts']
 }
};

main.js内容如下:

let React = require('react');
let ReactDOM = require('react-dom');
let AppComponent = require('./components/index.js');
ReactDOM.render(<AppComponent />, document.getElementById('content'));

index.js内容如下:

var React = require('react');
var ProductBox;
ProductBox = React.createClass({
 render: function () {
 return (
 <div className="productBox">
 hello react&es2015&webpack!!!
 </div>
 );
 }
});
module.exports = ProductBox;

index.html内容如下:

<!DOCTYPE html>
<html>
<head lang="en">
 <meta charset="UTF-8">
 <title>React Project</title>
</head>
<body>
<script src="http://localhost:8080/webpack-dev-server.js"></script>
<div id="content"></div>
<script src="./bundle.js"></script>
</body>
</html>

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

结果:

hello react&es2015&webpack!!!

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


# webpack  # react  # windows下vue-cli及webpack搭建安装环境  # vue+node+webpack环境搭建教程  # 详解webpack+angular2开发环境搭建  # 详解基于webpack搭建react运行环境  # karma+webpack搭建vue单元测试环境的方法示例  # 详解webpack与SPA实践之开发环境搭建  # webpack 2.x配置reactjs基本开发环境详解  # 浅谈Webpack下多环境配置的思路  # 详解webpack4多入口、多页面项目构建案例  # 如何用webpack4带你实现一个vue的打包的项目  # webpack4.x开发环境配置详解  # 加载  # 新建一个  # 自己的  # 是一个  # 就会  # 在这里  # 那就  # 就好  # 做什么  # 你不  # 去看  # 下一篇  # 这篇文章  # 就用  # 淘宝  # 说白了  # 在前  # 命名为  # 完后  # 最关键 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么连接多个数据库_Laravel多数据库连接配置  Android利用动画实现背景逐渐变暗  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  如何用低价快速搭建高质量网站?  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  制作电商网页,电商供应链怎么做?  如何在七牛云存储上搭建网站并设置自定义域名?  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  如何在阿里云域名上完成建站全流程?  在线制作视频的网站有哪些,电脑如何制作视频短片?  如何在宝塔面板创建新站点?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  教学论文网站制作软件有哪些,写论文用什么软件 ?  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  javascript日期怎么处理_如何格式化输出  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  如何基于云服务器快速搭建个人网站?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  韩国服务器如何优化跨境访问实现高效连接?  奇安信“盘古石”团队突破 iOS 26.1 提权  千库网官网入口推荐 千库网设计创意平台入口  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  如何挑选优质建站一级代理提升网站排名?  高端网站建设与定制开发一站式解决方案 中企动力  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  如何打造高效商业网站?建站目的决定转化率  Laravel如何创建自定义Facades?(详细步骤)  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  Laravel模型事件有哪些_Laravel Model Event生命周期详解  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  微信推文制作网站有哪些,怎么做微信推文,急?  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Laravel如何创建自定义中间件?(Middleware代码示例)  JavaScript如何实现音频处理_Web Audio API如何工作?  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  JavaScript中的标签模板是什么_它如何扩展字符串功能  PHP 500报错的快速解决方法  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  香港服务器WordPress建站指南:SEO优化与高效部署策略  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】