ambiences
v1.3.6
Published
多环境webpck、vite plugins配置生成当前环境配置(解决多余IP暴露引起的安全性问题)
Downloads
17
Readme
多环境 webpck\vite plugins 配置生成当前环境配置(解决多余 IP 暴露引起的安全性问 题)。
Install
$ npm install -D ambiences
// or
$ yarn add -D ambiences
Usage
Via .ambiences
(Recommended)
[[XXX]]
环境名称,与package.json
中scripts
--mode NODE_ENV
匹配[xxx]
配置名字,后期系统中调用需要。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
arr = [1,2,3,4,5,6,7,8]
obj = {a:1,b:2,c:3}
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
| 参数名称 | 类型 | 描述 | 是否必填 | 默认参数 | 备选参数 |
| -------- | ----------- | ---------------------------------------------- | -------- | ----------------- | ----------- |
| type
| string
| 打包后需要处理成什么格式的ambiences.config.*
| - | json
| json
/js
|
| outDir
| string
| 打包后ambiences.config.*
输出到什么位置 | - | dist
| - |
| dev
| DevConfig
| 开发环境配置 | - | defineDevConfig
| - |
defineDevConfig:DevConfig
| 参数名称 | 类型 | 描述 | 是否必填 | 默认参数 | 备选参数 |
| -------- | -------- | -------------------------------- | -------- | -------- | --------------------- |
| env
| string
| 开发环境需要什么amb.*
类型文件 | - | js
| jsx
/js
/ts
/tsx
|
| path
| string
| 开发环境中配置文件输出到什么目录 | - | src
| - |
| isPro
| boolen
| 当前是否为生产版本 | - | false
| - |
Plugins Use
import ambiences from 'ambiences';
module.exports = {
……
"plugins": [
ambiences('js', "dist")
],
……
}
// or
import {ambiences,DevConfig} from 'ambiences';
const ambiencesDevConfig:DevConfig = {
// 项目目录
inputDir: '',
// 开发环境需要什么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 };
问题反馈
在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流