UNPKG

@mega-apps/cli

Version:

Mom builder for all mega modules apps. The recommended basic operation dependency package is attached, and users can check and repair defects in actual applications.

132 lines (94 loc) 3.66 kB
# @mega-apps/cli Mom Web 应用统一构建工具 > 附带推荐的基础运行依赖包,开发者可以在实际使用中查缺补漏 <p align="left"> <a href="https://www.npmjs.com/package/@mega-apps/cli"><img src="https://img.shields.io/npm/dm/@mega-apps/cli" alt="Downloads"></a> <a href="https://www.npmjs.com/package/@mega-apps/cli"><img src="https://img.shields.io/npm/v/@mega-apps/cli" alt="Version"></a> <a href="https://www.npmjs.com/package/@mega-apps/cli"><img src="https://img.shields.io/npm/l/@mega-apps/cli" alt="License"></a> </p> ## 特性 - [x] 重点支持使用`Nuxt脚手架`创建的项目(附带推荐依赖包) - [x] 支持使用`VueCLI脚手架`创建的项目(不附带依赖包) - [x] 自动识别`Nuxt项目`及`VueCLI项目` - [x] 注入`VueLoader`, 实现 Vue 开启组件名称自动命名与开发环境统一 - [x] 注入`Vue补丁`, 实现嵌套子布局路由正常(Keepalive情况下) - [x] 注入`Module.prototype.require`, 兼容依赖包查找 - [x] 注入项目规范检测及修补机制 - [x] 依赖安装加速控制(.npmrc, .yarnrc) 适用于npm中国镜像站 - [x] 推荐使用`Yarn`或者`pnPm`来管理依赖 - [x] 集成项目代码规范依赖;如:`ls-lint`, `eslint`, `stylelint`, ... - [x] 集成`Jest`, `Playwright`, `Vitest` 等测试框架 - [x] 集成`TypeScript`引擎 - [x] 集成`TailwindCSS`,`PostCSS`, `LESS`, `SASS` 等引擎 - [x] 集成`@types` 类型库 - [x] 集成 `Nuxtjs` >= 2.15.8, `Nuxt Libs` 常用库: https://modules.nuxtjs.org/ - [x] 集成适用于`Webpack`, `Vite` 常用构建工具 - [x] 集成各种`Mock`工具,支持`HTTP/HTTPS`, `WebSocket`, `Native Mock` - [x] 集成`MegaMom`平台的各种插件/库/模块. 如:[`@mega-apps/nuxt-plugin-mom`](//www.npmjs.com/package/@mega-apps/nuxt-plugin-mom) ## 安装 ```bash # 推荐使用 Yarn 来安装依赖 yarn add @mega-apps/cli --dev # 或使用 pnPm 安装依赖 pnpm add -D @mega-apps/cli ``` ## 配置 ```js // package.json 文件 { // 修改 package.json 中的配置 // ... "scripts": { "dev": "mom", "build": "mom generate" // ... }, } ``` ## 应用 ### 如何扩展 nuxt.config.js ```js // "@mega-apps/cli" 提供了 nuxtConfigExtend 函数 及 momMerge 函数 // momMerge 函数的原型: // import momMerge from "deepmerge"; // export { momMerge }; import { nuxtConfigExtend, momMerge } from "@mega-apps/cli"; ``` ### 默认提供了基础的nuxt.config 配置 ```js // 引入基础的nuxt.config.配置 import { generateBaseConfig, def } from "@mega-apps/cli/config/nuxt.config"; ``` ### 如何生成一个新的配置 ```js // 引入基础的nuxt.config.配置 import { generateBaseConfig, def } from "@mega-apps/cli/config/nuxt.config"; // def 函数,是一个兼容的快捷定义函数 const baseCfg = generateBaseConfig({ supportESLint: false, supportStyleLint: false, supportTypeScript: false, supportTailwindCSS: false, }); // 构造新的 nuxt.config const config = nuxtConfigExtend([ {}, def(1, {}) ], baseCfg); // 导出配置 export default config; ``` ### 如何对node-sass 进行配置 ```js import {getDefaultSassImplementation } from "@mega-apps/cli/config/nuxt.config"; /** * 获得默认的Sass解析器 * @param defaultPkg, 默认值:node-sass, 可选值:sass * @returns module.exports * @note 关于node-sass的版本要根据nodejs的版本指定,参见:https://www.npmjs.com/package/node-sass 内的版本号对应说明 * ``` ### 如何查看基础的配置内容 基础配置存放到: `"@mega-apps/cli/config/nuxt.config.js"` ## 变更日志 [CHANGELOG](./CHANGELOG.md)