1.0.17 • Published 5 months ago

elgis-ambiences v1.0.17

Weekly downloads
-
License
ISC
Repository
-
Last release
5 months ago

多环境webpck\vite plugins配置生成当前环境配置(解决多余IP暴露引起的安全性问题)。

Install

$ npm install -D elgis-ambiences
// or
$ yarn add -D elgis-ambiences

Usage

Via .ambiences (Recommended) 1. [[XXX]] 环境名称,与 package.jsonscripts --mode NODE_ENV 匹配 2. [xxx] 配置名字,后期系统中调用需要。 3. xxx=xxx 详细配置

多个环境配置的情况下,这个格式不断重复调整环境参数。

在非build 或者 NODE_ENV=production 并且 outDir 不为空的情况下都会在 outDir 目录下创建对应配置文件可作为外部引入文件处理。

.ambiences

[[dev]] // 环境配置名称
[api] // 参数名称
requestURL = "xxx.xxx.test"
[config] // 参数名称
systemName = "DevTest"
requestURL = "xxx.pro.test"

[[production]]
[api]
requestURL = "xxx.pro.test"
[config]
// 系统名称
qasd = "系统名称"
systemName = "Test";
iiii = 123123
isTre = true

package.json

{
	……
	"scripts": {
		"dev": "node ./index.js --mode NODE_ENV=dev",
		"test": "node ./index.js --mode NODE_ENV=test",
		"production": "node ./index.js --mode NODE_ENV=production",
	}
	……
}

ambiences(type?: string,outDir?: string,dev?: DevConfig)

Parameter

参数名称类型描述是否必填默认参数备选参数
typestring打包后需要处理成什么格式的ambiences.config.*-jsonjson/js
outDirstring打包后ambiences.config.*输出到什么位置-dist-
devDevConfig开发环境配置-defineDevConfig-

defineDevConfig:DevConfig

参数名称类型描述是否必填默认参数备选参数
envstring开发环境需要什么amb.*类型文件-jsjsx/js/ts/tsx
pathstring开发环境中配置文件输出到什么目录-src-
isProboolen当前是否为生产版本-false-

Plugins Use

import ambiences from 'elgis-ambiences';
module.exports = {
	……
	"plugins": [
		ambiences('js', "dist")
	],
	……
}

// or 

import {ambiences,DevConfig} from 'elgis-ambiences';
const ambiencesDevConfig:DevConfig = {
	// 开发环境需要什么amb.*类型文件,可选 ts、tsx、js、jsx
    env: "js",
    // 开发环境中配置文件输出到什么目录
    path: "src/config",
    // 当前是否为生产版本
    isPro: false
}
module.exports = {
	……
	"plugins": [
		ambiences('js', "dist",ambiencesDevConfig)
	],
	……
}

ambiences production

|--dist
	|-- ……
	|-- ambiences.config.js
	|-- ……

production 环境为例

ambiences.config.js
var ambiences = {
	"ENV":"production",
	"api":{
		requestURL:"http://xxx.api.pro.com"
	},
	"config":{
		systemName:"Production system name"
	}
}
ambiences.config.json
{
	"ENV":"production",
	"api":{
		"requestURL":"http://xxx.api.pro.com"
	},
	"config":{
		"systemName":"Production system name"
	}
}

ambiences development

|--src
	|-- ……
	|-- ambiences.config.js
	|-- ……

dev 环境为例

ambiences.config.js
export const ENV = "dev";
export const api = {
     "requestURL": "http://xxx.api.dev.com",
};
export const config = {
     "systemName": "DevDependencies system name",
};
        
export default {api,config,ENV}

问题反馈

在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流

1.0.17

5 months ago

0.1.17

5 months ago