記錄一次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.pswp.cn/news/277161.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277161.shtml
英文地址,請注明出處:http://en.pswp.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控件中顯示二進制數據為什么異步回送時不能使用文件上傳&…

忙的日子

很久沒有這么正兒八經的忙了,腦子里很多事的日子忽然覺得很不適應。兩個人的工作都算塵埃落定,也許是憂患意識持續得太久了,沒有太多的驚喜和踏實,卻想著福兮禍之所依。很久不做夢了,忽然有夢時卻總是校園里那些人那些…