记录一次react项目配置过程

1.为什么要配置react而不是脚手架

因为要知其然,最好还要知其所以然!

2.配置对象

webpack webpack-dev-server babel eslint

3.配置过程

1.webpack

第一步:引入必须文件

const path = require("path");
const webpack = require("webpack");//为了使用webpack自带的插件
const htmlWebpackPlugin = require("html-webpack-plugin");//为了使用html插件 功能是动态组合html代码和js文件
const miniCssExtractPlugin = require("mini-css-extract-plugin");//分离和压缩css
module.exports = {}
复制代码

第二步:入口文件

entry:{index:"./index.js" //这儿的index就是output的[name]
}
复制代码

第三部:loader文件

1. file-loader:
1. context - webpack的跟目录
2. publicPath - 要加在静态资源前面的请求路径
3. name - 输出的文件名
4. outputPath - 输出的路径
复制代码
2. url-loader
1.limit - 一个限度小于直接整成base63=4
2 fallback - 大于限度掉用的loader一本为file-loader
复制代码
module:{rules:[{test:/(\.scss)$/,use:[miniCssExtractPlugin.loader,"sass-loader","css-loader"]},{test:/(\.js|\.jsx)$/,use:["babel-loader"]},{test:/(\.png|\.jpg)$/,use:[{loader:"url-loader",options:{limit:3000,fallback:"file-loader",}}]}]},
复制代码

第四步: plugin

plugins:[new htmlWebpackPlugin({template:"./index.html",minify:false,inject:"body"}),new miniCssExtractPlugin()]
复制代码

第五步:优化配置

optimization:{splitChunks:{cacheGroups:{modules:{chunks:"all",test:/.*node_modules.*/,name:"modules",},index:{chunks:"all",test:/\.css$/,name:"index",enforce:true,}}}}
复制代码

第六步:输出

output:{filename:"[name].js",path:path.join(__dirname,"dist"),/*这个只是编译过后文件的输出目录*//*publicPath:path.join(__dirname,"dist")//这个是在css中的路径字符串基本路劲*/}
复制代码

第七部:服务器

//添加mock 在node_modules->webpack-dev-server->.bin->Server.js文件中添加以下代码
let xmDataPath = "E:\\xm\\builder"
app.get('/data/*', (req, res) => {res.setHeader('Content-Type', 'application/json');//res.end();fs.createReadStream(path.join(xmDataPath,req.url)).pipe(res);
});
app.get('/image/*', (req, res) => {res.setHeader('Content-Type', 'application/json');//res.end();fs.createReadStream(path.join(xmDataPath,req.url)).pipe(res);
});
//设置跟目录
devServer:{contentBase:"./dist",host:"127.0.0.1",port:"80"
}
复制代码

配置ESlint

  1. 创建配置文件.eslintrc.js
module.exports = {"parserOptions":{ecmaVersion:[6,7,8],//支持的版本sourceType:"script",ecmaFeatures:{jsx:true,//是否启用jsx}},parser:"babel-eslint","env": {//使用环境"browser": true,"node": true},"extends": "eslint:recommended",//使用推荐配置rules:{}
}
复制代码
  1. sublime下安装sublimeLinter
  2. 配置如下
{"debug": false,"delay": 0.25,"gutter_theme":"Default","linters": {"eslint": {"@disable": false,"args": [],"excludes": []}}
}
复制代码

git push 到仓库

完毕

转载于:https://juejin.im/post/5bb2d0d8e51d450e697381b9

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/277161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能文件名排序

默认排序问题 windows排序 Windows的资源管理中,提供了文件名的智能排序功能,可以识别出文件名中数字(数字位数不相同),然后比较数字大小进行排序,如下图: 代码默认排序 但在C#中的列表排序中则…

VS2005 Web Application Project启用WSE(Ver 3.0)的方法

使用过WSE的朋友都知道,若要启用Server端Projects的WSE功能,需要选中如下所示的两个单选框:Enable this project for Web Services Enhancements和Enable Microsoft Web Services Enhancement Soap Protocol Factory.但是在WSE3.0中对于Web Application …

计算机英语课程背景,专家讲座第十五讲:信息化背景下高质量大学英语课程建设与教学设计...

11月27日下午,南京大学王海啸教授应邀到我院开展题为“信息化背景下高质量大学英语课程建设与教学设计”学术讲座。讲座由外国语言文学学院胡元江副院长和鲍贵教授共同主持,学院全体教师和研究生参加了本次学术活动。王海啸教授目前兼任教育部高等学校大…

ORA-28001: the password has expired

原创文章地址:https://blog.csdn.net/zdw_wym/article/details/38066745 Oracle提示错误消息 ORA-28001: the password has expired,是由于Oracle11G的新特性所致,Oracle11G创建用户时缺省密码过期限制是180天(即6个月)&#xff0…

使用c#操作IBM WebSphere MQ

IBM WebSphere MQ 5.3升级到CSD05之后,提供了使用.net操作MQ的类库,安装完成之后,会在MQ的安装目录的bin文件夹下面多出一个amqmdnet.dll文件,把这个DLL作为引用添加到你的.net工程中,你的.net程序中就可以操作IBM Web…

【SpringBoot】在IOC之外的类中使用IOC内部的Bean

某些时候,某些类是不归IOC管的,如我们的一些Util,如何使用IOC中的Bean? 1、写一个SpringUtil类,该类用于操纵Spring的ApplicationContext Component的注解是需要的,该Util是要被Spring管理的。 Component p…

计算机office二级app,计算机二级office

计算机二级office是一款为用户提供各种计算机二级知识的软件,用户可以在应用中快速的学习计算机二级office知识,顺利通过二级考试;应用拥有海量的精选计算机二级考试题库,不放过每一个考题,让用户全面的学习二级知识&a…

Obj-C 实现设计模式 -- Observer

观察者模式,采用气象站的例子来说明,本质上跟Java来实现差不多。只不过是针对协议(Delegate)来编程。 简单说下需求,气象显示版向气象站注册成功订阅者(观察者),气象站监测到气温发生…

影响员工敬业度的三大因素

敬业的员工通常业绩比较突出,对企业做的贡献很大。经理人当然希望自己的员工个个都是敬业的员工,但实际上,在中国只有8%的员工具有敬业精神,相比全球的平均水平14%还有很大的差距。 是什么因素造成员工不敬业呢?根据世…

cf914D. Bash and a Tough Math Puzzle(线段树)

题意 题目链接 Sol 直接在线段树上二分 当左右儿子中的一个不是\(x\)的倍数就继续递归 由于最多递归到一个叶子节点,所以复杂度是对的 开始时在纠结如果一段区间全是\(x\)的两倍是不是需要特判,实际上是不需要的。 可以这么想,如果能成功的话…

计算机答辩答不上来怎么回答,答辩答不上来怎么办

论文答辩成为了不少同学的最后一次考试,从开题报告、论文定稿到格式排版大家一定都花费了大量的时间和精力,然而有时也会有一点小错误。所以,答辩前怎么准备,答辩的时候应该怎么灵活表现才能让自己最有可能通过答辩呢?…

urllib2.urlopen超时问题

urllib2.urlopen超时问题 没有设置timeout参数,结果在网络环境不好的情况下,时常出现read()方法没有任何反应的问题,程序卡死在read()方法里,搞了大半天,才找到问题,给urlopen加上timeout就ok了&#xff0c…

git 关联远程分支

问题解析: git本地新建一个分支后,必须要做远程分支关联。如果没有关联, git 会在下面的操作中提示你显示的添加关联。关联目的是如果在本地分支下操作: git pull, git push ,不需要指定在命令行指定远程的分支&#x…

Sql Server 常用日期格式

http://www.cnblogs.com/waitu/archive/2006/01/16/318299.html 转载于:https://www.cnblogs.com/passrift/archive/2006/09/29/517939.html

del服务器能装win7系统吗,500系列主板能不能装win7?500系列主板装win7教程(支持11代)...

今年intel发布了第十一代酷睿cpu,当前有些网友还停留在win7时代,对win7是恋恋不忘,以前经常听到讨论是400系列主板安装win7的问题,到了2021年我们应该换一个话题,就是500系列主板能安装win7吗?小编在这里可…

代码可读性心理学

写在前面的话: 这周末我一个同学在群上说找到一篇挺有意思的文章(就是下面要说的可读性代码的心理学),说要翻译出来,我就主动请缨了,跟他合作翻译这篇文章,在看这篇文章的同时,我突然…

带图片的,多列的DropDownList的实现

下面是模仿的DropDownList的效果,支持图片,多列,换行等。查看例子 WebDropDownList.aspx 模拟下拉列表框模拟下拉框请选择?6北京市上海市河南省深圳市大连市云南省WebDropDownList.aspx.cs using System; using System.Collection…

手机连接服务器传文件在哪里,手机云服务器传文件在哪里

手机云服务器传文件在哪里 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。如果私钥文件丢失了,可以为服务器替换新的密…

本周ASP.NET英文技术文章推荐[03/25 - 03/31]

摘要 本期共有6篇文章: ASP.NET AJAX:客户端事件查看器JavaScript和.NET中的JavaScript对象标记(JSON)介绍在ASP.NET 2.0应用程序中使用NHibernate和Log4Net在数据Web控件中显示二进制数据为什么异步回送时不能使用文件上传&…

忙的日子

很久没有这么正儿八经的忙了,脑子里很多事的日子忽然觉得很不适应。两个人的工作都算尘埃落定,也许是忧患意识持续得太久了,没有太多的惊喜和踏实,却想着福兮祸之所依。很久不做梦了,忽然有梦时却总是校园里那些人那些…