You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
import{postFromData}from'services/axios'// postFromData:post 请求以 form 表单形式发送数据,默认为 JSONpostFromData.then((response)=>{console.log(response);}).catch((error)=>{console.log(error);})
服务器部署优化
优化效果
# 单独打包
npm run buildDev // 打 dev 环境包
npm run buildQa // 打 QA 环境包
npm run buildPre // 打仿真环境包
npm run buildOnline // 打线上环境包
# 单独部署
npm run dev // 部署 dev 测试环境
npm run qa // 部署 QA 测试环境
npm run pre // 部署仿真测试环境
npm run online // 部署线上环境
# 打包 + 部署快捷方式# 第一个参数为打包所用的 server 接口环境,第二个参数为服务器部署环境# 两个参数的可选值均为:dev || qa || pre || online# 调用方式一
npm run deploy -- --buildEnv=dev --deployEnv=qa
# 调用方式二
npm run deploy -- dev qa
如何实现
创建通用的 webpack 配置:webpack.cust.conf.js,处理各个环境的打包逻辑
// exports function 能接收参数module.exports=function(env,argv){// 根据 npm run script 传入的参数判断环境letapiEnv=env.serverApi||'dev'if(apiEnv==='dev'){// 做点啥}}
npm script 传入 webpack 参数:serverApi,实现环境自定义
"scripts": {"buildDev": "webpack --env.serverApi dev --mode production --progress --color --config build/webpack.cust.conf.js","buildQa": "webpack --env.serverApi qa --mode production --progress --color --config build/webpack.cust.conf.js",}
mobile-intl 框架起源
基础 webpack 配置
配置文件
通常情况,根目录下面的
webpack.config.js
文件作为默认配置文件自定义配置文件,使用
--config
指定配置文件package.json
常用配置项:
全部配置见官方文档
快速生成自定义配置文件,可以用官方推荐工具
打包输出目录优化
精简多余的目录
项目启动优化
From
To
实现思路
想办法把
openPage
字段变成动态值如何实现
添加路径别名
不同环境自动适配域名
原则上不允许硬编码域名,直接写路径 path,或者引入以下 JS 统一处理
webpack 在打包时会自动对域名相关信息进行替换。
如何实现
保证所有配置文件导出的参数名保持一致
NormalModuleReplacementPlugin
插件完成替换接口请求完善
使用时引入一次拦截器,发起请求同 axios API
服务器部署优化
优化效果
如何实现
webpack.cust.conf.js
,处理各个环境的打包逻辑serverApi
,实现环境自定义env
,实现部署服务器自定义初始化项目脚手架
初始化项目结构
/src/pages/singlePage
/src/pages/multiPage
根据提问完成项目初始化
如何实现
关键工具
提问交互
拷贝工程模板
打包时排除模板目录
独立脚手架模板
可以利用 download-git-repo,把项目模板从 github 下载下来
命令行日志美化
关键工具
遇到的坑
使用 shelljs 库执行的时候,命令行的样式失效,issue 在此
解决办法
强制启用命令行样式
--color
--color=always
自定义日志输出样式
参考了 signale 的样式,直接用它也没问题
The text was updated successfully, but these errors were encountered: