比如,
# OS X, Linux$ PORT=3000 umi dev# Windows (cmd.exe)$ set PORT=3000&&umi dev
如果要同时考虑 OS X 和 Windows,可借助三方工具 cross-env,
$ yarn add cross-env --dev$ cross-env PORT=3000 umi dev
Umi 中约定根目录下的 .env
为环境变量配置文件。
比如:
PORT=3000BABEL_CACHE=none
然后执行,
$ umi dev
会以 3000 端口启动 dev server,并且禁用 babel 的缓存。
按字母排序。
指定项目根目录。
注意:
.env
中,只能在命令行里添加用于分析 bundle 构成,默认关闭。
比如:
$ ANALYZE=1 umi dev# 或者$ ANALYZE=1 umi build
对服务端包大小的分析,默认关闭,具体见 服务端渲染#包大小分析。
默认开启 Babel 编译缓存,值为 none 时禁用缓存。
默认会根据 targets 配置打目标浏览器的全量补丁,设置为 none
禁用内置的补丁方案。
默认压缩 CSS 和 JS,值为 none 时不压缩,build 时有效。
默认不开启 TypeScript 类型检查,值为 1
时启用。比如:
$ FORK_TS_CHECKER=1 umi dev
设为 none 时禁用,有些场景下 friendly-errors-webpack-plugin 会把错误给吞了。
$ FRIENDLY_ERROR=none umi dev
localhost 开启 https
$ HTTPS=1 umi dev
同时也可以使用配置 https: { key: '/path/key.pem', cert: '/path/cert.pem' }
自定义证书。
设为 none
时禁用代码热更新功能。
设为 none
时不输出 HTML,umi build
时有效。
默认是 0.0.0.0
。
指定端口号,默认是 8000
。
设为 none
时禁用进度条。比如:
$ PROGRESS=none umi dev
指定用于 HMR 的 socket 服务器。比如:
$ SOCKET_SERVER=https://localhost:7001/ umi dev
分析 Webpack 编译时间,支持 CONSOLE
和 JSON
两种格式,默认是 JSON
。
$ SPEED_MEASURE=CONSOLE umi dev
默认开启 Terser 压缩缓存,值为 none 时禁用缓存。
指定不同环境各自的配置文件,详见配置#多环境多份配置。
设为 none
时不监听文件变更。比如:
$ WATCH=none umi dev
默认不监听 node_modules 下的文件修改,如果需要,可通过此环境变量进行设置。比如:
# 整个 node_modules 都监听,会慢点WATCH_IGNORED=none umi dev# node_modules 下除 lodash 和 umi 监听,其他忽略WATCH_IGNORED=node_modules/(?!(lodash|umi)) umi dev
生成 umi 构建性能分析文件 dist/stats.json
,结合 Webpack Xray 或 Webapck Analyse ,WEBPACK_PROFILE
值有 verbose
、normal
、minimal
。比如:
$ WEBPACK_PROFILE=verbose umi build
预渲染下,默认会删除服务端渲染文件 umi.server.js
,如果希望保留,使用 RM_SERVER_FILE=none
。