導語:項目技術架構,先期按照官網配置
react+antd-mobile
按需加載,使用的是
antd-mobile
,由于版本更新,最新版的
react-app-reqired
不能更細緻的去自定義
react-app-reqired
配置。當然了,我們可以不使用這個,直接暴露出
webpack
的配置檔案,那這樣會生成一大堆檔案。
webpack
核心的就是傳回一個函數,函數内的參數就是
config-overrides.js
的配置,為了更清晰的修改,引入
webpack
子產品
webpack-merge
安裝
npm install webpack --save-dev
代碼如下:
const merge = require('webpack-merge')
const webpacks = {
output: {
path: resolveApp('dist') // 修改打包輸出檔案夾名稱
},
devServer: { // 配置本地開發代理
proxy: {
'/proxy': {
"target": "https://www.justfun.fun/proxy/",
// "target": "https://ieg-api.justfun.live",
"pathRewrite": {
"^/proxy": ""
},
"changeOrigin": true
}
}
},
module: {
rules: [
{
test : /\.js$/,
loader: "babel-loader", // 使用babel-loader來配置antd-mobile按需加載
// query: {
// babelrc: false // 設定query babelrc:true 則會讀取package.json裡的配置檔案
// },
options: {
"plugins": [
[
"import", {
"libraryName": "antd-mobile",
"style": "css"
}
]
]
}
}, {
test: /.(js|jsx)$/, // 配置eslint校驗,相當于useEslintRc()
enforce: 'pre',
loader: 'eslint-loader',
include: [path.resolve(__dirname, 'src')]
}
]
}
}
module.exports = function override(config, env) {
return merge(config, webpacks)
}