npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

zl-commom-envconfig

v1.0.3

Published

一个为Node/React/vue/Angular等各js框架项目开发的通用环境配置模块,内置默认/开发/测试/线上四套环境配置,且还可以自己无限递加新的环境配置(只有是js项目,不管是前端js还是后端的nodejs,都可以通用此模块作为通用的多套环境配置解决方案)

Downloads

2

Readme

zl-commom-envconfig

一个为Node/React/vue/Angular等各js框架项目开发的通用环境配置模块,内置默认/开发/测试/线上四套环境配置,且还可以自己无限递加新的环境配置 (只要是js项目,不管是前端js还是后端的nodejs,都可以通用此模块作为通用的多套环境配置解决方案)

起因

在开发中,经常多个项目,多个框架(vue/react/angular/jquery),甚至是前端js,后端nodejs,nodejs的各种框架 并行开发。

这时都会面临同一个问题,那就是任何项目都至少有开发环境和线上环境两套,甚至更多。

每套环境都会有不同的环境变量。不同框架基本都做了封装。

如果只是单独的使用一个框架没什么问题,但是当我们同时进行多个项目多种框架开发时,对于环境配置使用上都会有些不一样,还是有点烦,并且有时公有配置迁移也因此变得更麻烦。

所以,就简单的开发了一个用于在任何框架通用实现,多套环境配置的小模块,如下,原理非常简单,代码也不复杂,但是很实用。

引入与使用

  1. 全局安装:npm i zl-commom-envconfig -g

  2. 在你项目根目录下执行命令: zl-env create (此命令执行后会在项目根目录下生成env配置)

env
├── config
│   ├── default.js
│   ├── dev.js
│   ├── prod.js
│   └── test.js
├── index.js
└── setEnv.js
  1. 在你项目的package.json文件中配置脚本命令,即加上命令: node ./env/setEnv.js 环境名
如:
   node ./env/setEnv.js dev   dev表示开发环境
   node ./env/setEnv.js test  test表示测试环境
   node ./env/setEnv.js prod  prod表示生成环境

   这几个环境名,都是需要和config下的环境配置文件名一致的
实际使用类似如下:
    "start": "node ./env/setEnv.js dev && roadhog server",
    "test": "node  ./env/setEnv.js test && roadhog server",
    "build": "node ./env/setEnv.js prod && roadhog build",
    当然,你的脚本命令名字可能并不叫start,test,build等,这个无所谓,根据实际情况调整即可,只有config下的配置文件名和脚本中的配置文件名一致即可
  1. 在你项目代码中引用:
import object from '../../../env/index.js'; //这引入的文件路径请以你实际的路径为准
console.log("========object======",object)

3

  1. 启动项目 npm run ...

提示

这里我是将env配置目录放在项目的根目录下的,但是实际上只有导入的路径正确,你可以根据自己的需求放在任意的位置

1.0.2 版本更新内容

本次版本共更新两点

更新点一

对于我们前端SPA单页应用,运行和打包时,一般都是取的public/index.html作为页面载体.

本版本更新就是让你可以配置多个环境的 【index_环境名.html】,从而在不同的环境读取不同的index.html (这种需求较小,但是还是有的,比如我现在就遇到了...)

实现

第一步: 在publi下准备多个环境的index.html文件,如:

index_dev.html
index_test.html
index_prod.html

第二步:在脚本命令中加上参数 staticHtml=true ,如:

   "start": "node ./env/setEnv.js dev staticHtml=true && roadhog server",
   "test": "node  ./env/setEnv.js test staticHtml=true && roadhog server",
   "build": "node ./env/setEnv.js prod staticHtml=true && roadhog build",

两步完成后,当我们启动服务时,就会去读取对应环境的index.html文件了

更新点二

有时候,我们在不同环境下向只是有同一个inde.html文件,但是想读到js里面的不同环境配置,然后根据当前不同配置做一些不同的逻辑,但是在public/index.html中又无法读到相关配置,这时就有了本次版本更新的第二点了。

实现

第一步:在脚本命令中再加上个参数 staticJs=true ,如:

   "start": "node ./env/setEnv.js dev staticJs=true && roadhog server",
   "test": "node  ./env/setEnv.js test staticJs=true && roadhog server",
   "build": "node ./env/setEnv.js prod staticJs=true && roadhog build",

第二步: 当执行了启动命令后,会在public下生成当前环境的配置文件 index_envcong.js

   // 所以,我们直接在index.html中引入此js文件就可以
   <script src="./index_envcong.js"></script>

   // index_envcong.js文件内容格式如下:
   window.index_envcong={
     "description": "这是开发环境配置",
     "env": "dev",
     "API": "http://127.0.0.1:7012",
     "projectName": "js项目通用环境配置"
   };
 
 // 这时我们就可在index.html中直接拿到相关的环境配置信息了, 如果你觉得直接暴露在window上不太安全,
 // 那么你可以将配置对象赋值给一个块级变量,然后将window.index_envcong=null 即可
   

两步完成后,当我们启动服务时,我们就可在index.html中直接拿到相关的环境配置信息了

提示

staticHtml=true,staticJs=true两个命令可以同存,顺序先后无所谓,以空格隔开,也可以都不写,或者只写一个命令