1.0.2 • Published 3 years ago

openfe-spa-cli v1.0.2

Weekly downloads
4
License
MIT
Repository
-
Last release
3 years ago

Install with npm:

	window: npm config set @ynet:registry=http://flameapp.cn:8081/repository/npm-private/
	mac: npm config set @ynet:registry http://flameapp.cn:8081/repository/npm-private/
	npm install --save-dev @ynet/ynet-cli

Install with yarn:

Introduction

可执行命令与参数

  • 命令说明 以下的命令名均为可项目中可执行命令,你需要在需要中的package.json中的script中指定

    	```
    		for example: package.json
    	
    		{
    			script: {
    				"自定义命名": "ynet-dev"
    			}
    		}
    	
    		npm run 自定义命名 --args
    	```
    
    	|命令名|描述|
    	|:-:|:-----:|
    	|ynet-dev|构建本地开发|
    	|ynet-common|构建生产环境下的全局资源包|
    	|ynet-bundle|建构生产环境下的普通业务包|
    	|ynet-zips|建构生产环境下zip压缩文件,可直接上传`mpaas`控制台|
    	|ynet-releaseConf|建构生产环境下的bundleID映射关系,以及appList页面启动参数|
    	|ynet-sourceZips|源码快速打包成压缩文件|
|参数名|类型|默认值|描述(缩写: --happy => --happy=true)|
|:----:|:--:|:----:|:---------------------------------:|
|platform|String|`liebao`|运行平台|
|env|String|`prod`|项目运行环境,会根据此变量取出对应的环境配置文件,格式为`prod.env.js`|
|appConf|String|`app.conf`|项目配置文件,不指定时则取项目根目录的`app.config.js`文件|
|server|Boolean|`false`|业务包输到指定的目录之后,根据此参数起本地服务,并转换好路径,通过IP地址可访问调试|
|debug|Boolean|`false`|业务包输到指定的目录之后,根据此参数来开启vconsole的调试功能|

项目配置字段说明

  • 说明: 配置中的路径均相对项目根目录

    	|参数名|类型|默认值|描述|
    	|:----:|:--:|:----:|:--:|
    	|src|String|`src`|源码目录,指定源码目录之后取目录下的modules用作离线包目录|
    	|template|String|`内置模版`|页面模版地址,不指定时则使用内置的默认模版|
    	|css|Object|空对象|css loader编译配置, 如:{loaderOptions:{ less:{}, sass:{}, scss: {}, stylus: {} }}|
    	|postcssrc|String|内置的postcss.config.js|postcss loader配置项|
    	|babel|Object|null|babel 规则配置项,合并|
    	|babelrc|String|内置的babel.config.js|babel loader配置项|
    	|envConf|String|`config`|项目环境配置文件目录|
    	|portalModules|String|`src/portal`|portal工程目录|
    	|output|String|`dist`|构建产出物目录|
    	|webport|String|13000|dist目录服务端口|
    	|configBundleWebpack|Function|null|修改维护bundle模块webpack构建配置, 函数入参为构建前配置项|
    	|configPortalWebpack|Function|null|修改维护portal模块webpack构建配置, 函数入参为构建前配置项|
    	|devServer|Object|[详情参考官网](https://webpack.docschina.org/configuration/dev-server/)|本地开发模式下本地服务器配置|
    	:kiss:
    	:smile:
    	:alien:
    	:scream:  devServer 常用字段有 prot, proxy, publicpath, contentbase

变量说明及webpack扩展配置

  • node 环境变量

    	|变量名|类型|默认值|描述|
    	|:----:|:--:|:----:|:--:|
    	|process.env.PLATFORM|String|``|运行平台|
    	|process.env.DEBUG|Boolean|`undefined`|开启调试模式|
    	|process.env.MOCK|Boolean|`undefined`|开启mock模式|
  • window 环境变量

    	|变量名|类型|默认值|描述|
    	|:----:|:--:|:----:|:--:|
    	|precess.env.PLATFORM|String|``|运行在指定的平台|
    	|precess.env.DEBUG|Boolean|`undefined`|开启调试模式|
    	|precess.env.MOCK|Boolean|`undefined`|开启mock模式|
  • config环境配置

    	项目根目录可建立config文件夹,其中存放各个环境(环境与命令参数对应,如 --env=prod)的配置信息,如prod.env.js,
    	文件内容为各个bundle(默认src/modules目录下各个模块)的对应环境变量配置。
  • for example:

|config
	|dev.env.js
	|prod.env.js
		{
			"inner_cheetah": {
				"PUBLIC_PATH": '"/inner_cheetah/"'
			},

			//模块目录名称
			"inner_system": {
				"PUBLIC_PATH": '"/inner_system/"'
			}
		}
  • 模块conf.json文件配置项

    	文件用于配置当前模块的构建配置项。包含模块名称。构建别名,环境变量定义
  • for example:

|conf.json
	{
    	"name": "模块中文名称",

		// 构建别名配置
		"alias": {
			"@components": "components"			//注意目录只能为模块下目录
		},

		//构建环境变量配置
		"envConfig":{
			"PUBLIC_PATH": "\"/inner_cheetah/\""
		}
	}

Concepts

  • Frameworks and library

    	|名称|版本|描述|
    	|:----:|:--:|:--:|
    	|Vue|<img src="https://img.shields.io/badge/vue-v2.6.1-success.svg">|一套用于构建用户界面的渐进式框架|
    	|Vuex|<img src="https://img.shields.io/badge/vuex-v3.1.1-success.svg">|Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式|
    	|fastclick|<img src="https://img.shields.io/badge/fastclick-v1.0.6-success.svg">|消除移动端浏览器上的物理点击和触发一个 click 事件之间的 300ms 的延迟|
    	|lodash|<img src="https://img.shields.io/badge/lodash-v4.17.11-success.svg">|高性能的 JavaScript 实用工具库,在代码中可直接使用, `import _ from 'lodash'  _.concat()`|
  • Styling

    	|名称|版本|描述|
    	|:----:|:--:|:--:|
    	|style|<img src="https://img.shields.io/npm/v/style-loader.svg">|Add exports of a module as style to DOM|
    	|css|<img src="https://img.shields.io/npm/v/css-loader.svg">|Loads CSS file with resolved imports and returns CSS code|
    	|less|<img src="https://img.shields.io/npm/v/less-loader.svg">|Loads and compiles a LESS file|
    	|sass|<img src="https://img.shields.io/npm/v/sass-loader.svg">|Loads and compiles a Sass/SCSS file|
    	|stylus|<img src="https://img.shields.io/npm/v/stylus-loader.svg">|Loads and compiles a Stylus file|
    	|PostCss|<img src="https://img.shields.io/npm/v/postcss-loader.svg">|Loads and transforms a CSS/SSS file using PostCSS|