重点
- 支持 Windows 平台
- 初步提供开箱即用的部署功能
支持 Windows 平台
在本次更新中,支持在 Windows 平台开发和使用 Modern.js。
其中,Unbundled 模式暂不支持在 Windows 平台使用,支持即将上线。
示例:应用(MWA)工程
在 Windows 平台上,可使用 npx @modern-js/create
创建应用项目:
在项目目录执行 pnpm run dev
命令可进行项目开发和调试:
在项目目录执行 pnpm run build
命令可进行项目打包:
在项目目录执行 pnpm run new
命令可开启项目扩展功能,如开启 BFF:
在项目目录执行 pnpm run test
命令,可运行单元测试和集成测试:
示例:Monorepo 工程
在 Windows 平台上,可使用 npx @modern-js/create
创建 Monorepo:
在 Monorepo 中执行 pnpm run new
可创建子项目,例如创建模块子项目:
在模块子项目目录执行 pnpm run new
可开启模块扩展功能,例如 Storybook:
另外,Modern.js 官网上,针对 Windows 和 macOS 上不同的命令,将会使用以下形式展示:
初步提供开箱即用的部署功能
本次更新中,Modern.js 提供了部署相关的支持,包括:
- 使用内置的产品级 Web 服务器。
- 提供 CDN 上传能力,将资源文件上传到阿里云 OSS 或腾讯云 COS 中。
- 用第三方的静态 Web 服务器(包括 CDN)来托管应用产物。
使用 Modern.js 生成器开启对应功能后,只需要简单配置云平台所需的基本信息(例如 SecretID,SecretKey,BucketName 等)就可以直接部署到云平台。
在应用根目录下创建 .env 文件,或发布平台(例如 GitHub CI)中配置那些无需保密的信息,例如:
# 阿里云账号 ID(腾讯云无需该配置)
CLOUD_ACCOUNT_ID
# Bucket 名称
CLOUD_BUCKET_NAME
# 云平台部署区域
CLOUD_REGION
而与账号鉴权相关的信息务必在平台上配置,例如:
# 云平台 AccessKey
CLOUD_SECRET_ID
# 云平台 Secret Key
CLOUD_SECRET_KEY
示例
在项目中执行 pnpm run new
启用部署功能:
使用阿里云 FC + 部署应用:
使用腾讯云 SCF + COS 部署应用:
使用静态 Web 服务器托管产物:
目前暂不支持不同云平台间产品混合使用。另外,Monorepo 部署支持将在后续上线,敬请期待。更多内容可以前往官网了解。
Changelog
- 生成器模板更新 #176 #177 #183 #190 #185 #260 #259 #285 #300
- 修复初始化项目 lint 报错 #194 #258
- 应用项目启用 Electron 功能后增加提示信息 #181
- 模块工程方案调整清除 dist 目录时机 #202
- 一体化调用生成代码函数增加 requireResolve 参数 #201
- 修复模块工程方案项目初始化未生成 .npmignore #209 / #198
- 修复 MWA 项目在 Node.js 17 环境 dev 命令报错 #214
- 优化 node-bundler-require 的 external 正则匹配规则 #218 #275
- 修复 babel 配置版本号 #246
- test 命令支持匹配 Windows 平台文件路径 #247
- 修复 unbundle 模式测试报错 #226 / #224 #225
- 修复 path 路径引用问题 #253
- Windows 平台支持 #249 #263 #268 #270 #273 #276 #219 #286 #290 / #180 #182 #236
- Storybook 使用 esbuild 生成预览文件 #254 / #228
- 修复使用 declare class 时 babel 编译报错 #245
- 修复启用功能安装依赖版本号 #267
- 修复 unbundled 模式在 js 项目报错 #262 / #262
- Egg 和 Koa 请求返回类型改为 JSON #266
- new 命令支持启用 SSG #265 #299 / #298
- 修复 unbundled 模式不支持使用 BFF #271 #269 / #235 #257
- Egg 框架 body 解析配置 #272
- 优化 unbundled 热更新提示 #264 / #186
- 移除无用的中间件 #239
- 移除 useHeaders API #279
- 支持 SSG 配置 #207
- 修复 HTML 模板 #277
- 调整 webpack peerDependence 依赖 #293
- 修改初始化项目默认分支 #306 #23
- 使用 Egg 框架时,根据项目代码;生成类型文件 #284
- 将底层插件实现改为基于 Farrow #305
- 修复 Storybook 路径问题 #308 / #291
- 修复模块工程方案 new 命令报错问题 #316 / #314
- 修复 Tailwind CSS 配置问题 #317
- 修复启用 unbundled 模式依赖安装问题 #12 / #238
- 安装依赖和项目 git 初始化失败仅展示警告 #17
- @electron/remote 升级 2.0 版本 #30
- Electron 主进程支持除主目录(electron)外其余目录的编译,比如:shared 目录#44
- Electron 修复 linux arm64 构建问题。#47
- 修复 useModel 加载多个 Model 的时候 actions 类型合并问题 #31 / #30
- 修复 SourceMap 路径问题 #309
- 应用项目部署功能 #320
升级指南
本次更新可通过删除项目 pnpm-lock.yaml 或 yarn.lock 重新安装依赖即可使用 Modern.js 最新版本。 Modern.js 将提供自动升级工具,后续升级可使用升级工具进行,敬请期待。