本文介绍了webpack 2.x配置reactjs基本开发环境详解,分享给大家,具体如下:

当前webpack版本:2.2;react: 15.4.2
webpack从1.x升级到2.x替换了几个接口,包括module.loaders这样的重要接口已被弃用(详细变更)。官网目前已不推荐使用1.x版本,早上折腾一番,根据2.2版本配置了react基本的开发环境,满足不太复杂的web应用开发,后期会逐步优化配置文件。
如果您之前使用过webpack,需要改动的地方并不大。下文假定您没有接触过类似的打包工具(但了解npm、jsx再好不过),以跟我一样一个新手的身份认识这些,如有不妥之处望不吝赐教。
如果您的react项目是引入的以下三个js文件在浏览器端编译jsx,那么不需要用webpack做开发环境。
<script src="https://cdn.bootcss.com/react/15.4.2/react.min.js"></script> <script src="https://cdn.bootcss.com/react/15.4.2/react-dom.min.js"></script> <script src="https://cdn.bootcss.com/babel-standalone/6.22.1/babel.min.js"></script>
但是在产品上线阶段,我们很不推荐这样做。1,用户需要下载这三个文件,浪费了带宽;2,下载完成后需要在浏览器端编译jsx文件,浪费了时间和资源。
如果将开发阶段的项目代码打包编译为一个js文件,再推上线,那么:1,将HTTP请求减少为1个;2,不需要用户端再浪费时间和资源去编译,直接运行上线前已编译好的js代码。
如果是前者,引入项目js代码的script标签type值为"text/babel";如果是后者,type值为"text/javascript"。
如何做?
一,安装nodejs,使用它附带的npm包管理工具。为什么要用npm?后期会下载react依赖、babel依赖、webpack工具,使用npm方便很多。不使用npm也可以,但无疑会增加诸多困难。
二,新建一个项目文件夹,在文件夹内打开终端,即Windows下的命令行(Shift+鼠标右键),运行 npm init ,如果没有特殊要求,可一直按回车键到最后一步。
三,在终端内执行如下命令下载需要的所有依赖和工具。
复制代码 代码如下:
npm install react react-dom babel-loader babel-core babel-preset-es2015 webpack webpack-dev-server --save-dev
四,配置webpack配置文件。在根目录下,即与package.json同级下新建webpack.config.js文件,在文件内部写入如下内容
// webpack.config.js
var webpack = require("webpack");
var path = require("path");
module.exports = {
entry: './dev/entry.jsx', // 入口文件
devtool: 'source-map', // 调试时定位到编译前的代码位置,推荐安装react插件
output: {
path: path.resolve(__dirname, "./dist/js/"),
filename: 'bundle.js' // 打包输出的文件
},
module: {
rules: [{
test: /\.jsx?$/, // test 去判断是否为.js或.jsx,是的话就是进行es6和jsx的编译
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
query: {
presets: ['es2015', 'react']
}
}]
},
resolve: {
// 现在你import文件的时候可以直接使用import Func from './file',不用再使用import Func from './file.js'
extensions: ['.js', '.jsx', '.json', '.coffee']
}
};
目录结构:
app |__dev | |__components | |__entry.jsx |__dist | |__css | |__js | |__bundle.js | |__index.html |__node_modules |__package.json |__webpack.config.js
对于这份配置文件有如下说明
1,标红的部分可自定义
2,react项目文件可以用js格式,也可以用jsx格式,但是输出文件为在HTML文件中引用的文件,必须为js格式。
3,本配置入口文件在dev目录下,输出文件在dist目录下,具体可自定义配置。
4,module.rules为2.x新增的接口,代替原先使用的module.loaders
5,去掉query会报错,也可将其规则写入package.json文件,具体写法见参考链接
五,在package.json文件scripts部分添加如下代码
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "webpack-dev-server --hot --open --content-base ./dist/",
"deploy": "webpack -p --progress --config webpack.config.js"
},
注:--content-base参数指定根html文件所在位置。
六,开发阶段在终端使用 npm start 自动编译代码并刷新;使用 npm run build 编译生产环境代码。
注:webpack-dev-server自动编译代码和刷新浏览器并不会将编译后的文件写入磁盘,而是保持在内存中,因此此时在html文件中引入的脚本文件src为"bundle.js",没有任何路径,如果在webpack.config.js的ouput中指定了"publicPath",情况又有所不同,详见参考链接第三个。
附:webpack编译过程中常用的参数,可在scripts编译命令中分别配置
eslint支持:
npm i eslint babel-eslint eslint-plugin-react --save-dev
新建一个.eslintrc文件,写入react支持基本参数
{
"plugins": ["react"],
"extends": ["eslint:recommended", "plugin:react/recommended"],
"parser": "babel-eslint"
}
推荐安装编辑器对应的eslint插件,可以在界面实时显示错误信息。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# webpack2配置react
# webpack2
# react
# JavaScript webpack5配置及使用基本介绍
# 详解node.js中的npm和webpack配置方法
# webpack教程之webpack.config.js配置文件
# JavaScript自定义Webpack配置实现流程介绍
# 配置文件
# 可以用
# 要用
# 自定义
# 值为
# 新建一个
# 后期
# 您的
# 几个
# 如果您
# 目录下
# 不吝赐教
# 不太
# 不需要
# 如有
# 之处
# 没有任何
# 已被
# 又有
# 推荐使用
相关文章:
网站企业制作流程,用什么语言做企业网站比较好?
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
如何通过建站之星自助学习解决操作问题?
如何访问已购建站主机并解决登录问题?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
头像制作网站在线制作软件,dw网页背景图像怎么设置?
建站之星2.7模板快速切换与批量管理功能操作指南
建站之星如何开启自定义404页面避免用户流失?
高端建站三要素:定制模板、企业官网与响应式设计优化
如何用VPS主机快速搭建个人网站?
孙琪峥织梦建站教程如何优化数据库安全?
济南专业网站制作公司,济南信息工程学校怎么样?
北京企业网站设计制作公司,北京铁路集团官方网站?
建站之星ASP如何实现CMS高效搭建与安全管理?
建站之星展会模版如何一键下载生成?
创业网站制作流程,创业网站可靠吗?
常州自助建站费用包含哪些项目?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
建站主机选哪种环境更利于SEO优化?
如何通过.red域名打造高辨识度品牌网站?
教学论文网站制作软件有哪些,写论文用什么软件
?
实例解析angularjs的filter过滤器
制作网站怎么制作,*游戏网站怎么搭建?
javascript基本数据类型及类型检测常用方法小结
建站主机选虚拟主机还是云服务器更好?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
Swift开发中switch语句值绑定模式
建站之星在线版空间:自助建站+智能模板一键生成方案
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
建站之星展会模板:智能建站与自助搭建高效解决方案
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
如何用低价快速搭建高质量网站?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
建站主机数据库如何配置才能提升网站性能?
建站主机是否属于云主机类型?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
如何在西部数码注册域名并快速搭建网站?
焦点电影公司作品,电影焦点结局是什么?
代购小票制作网站有哪些,购物小票的简要说明?
高防服务器租用如何选择配置与防御等级?
如何零基础在云服务器搭建WordPress站点?
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
如何在Windows服务器上快速搭建网站?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
深圳网站制作培训,深圳哪些招聘网站比较好?
,如何利用word制作宣传手册?
定制建站方案优化指南:企业官网开发与建站费用解析
东莞专业制作网站的公司,东莞大学生网的网址是什么?
*请认真填写需求信息,我们会在24小时内与您取得联系。