使用cross-env兼容windows和linux环境的nodejs变量

news2024/11/25 14:57:09

文章目录

  • 前言
  • 一、windows使用
  • 二、linux环境
  • 三、区别
    • 相同点
    • 不同点
  • 四、使用cross-env兼容
    • 项目安装cross-env
    • 使用
  • 总结
    • `如有启发,可点赞收藏哟~`


前言

由于办公和家里的开发环境不同(windows和linux)
在处理nodejs项目的时候,脚本设置变量的时候设置方式不同
使用cross-env可完美解决配置方式不同的窘境
nodejs使用process.env.PORT获取对应端口号


一、windows使用

window环境下,nodejs启动配置文件,基于package.json文件配置环境变量

  • 配置脚本
set PORT=3001 && set mode=development && node ./bin/www
  • 使用,例如在app.js文件使用
console.log(process.env.PORT)

二、linux环境

  • 每次执行设置(一般在单次执行脚本,或者临时在全局设置)
PORT=1234 && mode=prod && node app.js
  • 一次永久生效(关机后依然有效)
export PORT=1234 
node app.js	

三、区别

相同点

  • 均需先设置变量,再执行对应脚本
  • 查看是否存在
echo $NODE_ENV
  • 显示所有的环境变量
env

在这里插入图片描述

  • 删除
unset NODE_ENV

不同点

根据一、二点,windows使用set设置,liunx不需要

四、使用cross-env兼容

项目安装cross-env

npm i cross-env -D

使用

同linux,前面需加上cross-env标识

{
  "name": "admin",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "lstart": "cross-env mode=development PORT=9001 node bin/www"
  },
}

总结

如有启发,可点赞收藏哟~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1287648.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用 Go Modules 管理依赖:简明教程

一、GoLang 中包的介绍和定义 包(package)是多个 Go 源码的集合,是一种高级的代码复用方案Go 语言为我们提供了很多内置包,如 fmt、strconv、strings、sort、errors、times、encoding/json、os、io 等Golang 中的包可以分为三种&…

去掉参数中第一个“,”

记录一下,前端传参中,传给我参数是“categoryIds: ,1731557494586241026,1731569816263311362,1731569855534579713,1731858335179223042,1731858366821052418” 但是后端,因为我的mybati是in查询,所以因为第一个是“,”。所以会导…

搭建React项目,基于Vite+React+TS+ESLint+Prettier+Husky+Commitlint

基于ViteReactTSESLintPrettierHuskyCommitlint搭建React项目 node: 20.10.0 一、创建项目 安装包管理器pnpm npm i pnpm -g基于Vite创建项目 pnpm create vitelatest web-gis-react --template react-ts进入项目目录安装依赖 $ cd web-gis-react $ pnpm i启动项目 $ pnpm…

WeakMap

WeakMap简介 作为es6一种新的数据结构,他是一种键值对的集合。与Map最大的区别有两个 1. 是其中的键必须是对象或非全局注册的符号。 全局注册的符号 const s1 Symbol.for(mySymbol) 非全局注册的符号 const s1 Symbol(mySymbol)了解Symbol.for 2. 不会创建对它…

C++12.5

想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员,他会为每种动物表演做简单的介绍。 在这个场景中,我们可以将动物比作是不同的类,而每种动物表演则…

我在USC南加大学游戏:真实经历/录取作品集_RoSSo艺术留学

近日,美国Common App最新早申统计数据:早申人数与疫情前相比增加了41%!专注于国际艺术教育的RoSSo也发现,2022-2023申请季提交早申的学生中,各类热门院校以及艺术留学专业申请人数均是“涨”声一片! 图源官…

mvc模式test2

关于上篇book.java中使用类型不一样导致的报错 是在bookdao.java中解决 bookservlet.java package servlet; import java.io.IOException; import beans.Book; import dao.BookDao; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servl…

[跑代码-遇到问题-报错3]BK-SDM. KeyError: ‘up_blocks.0‘

File "src/kd_train_text_to_image.py", line 790, in mainKeyError: up_blocks.0 出问题的原因 dict acts_tea读到dict acts_stu没有读到dict 原因是 unet_teacher的结构后面直接接down_blocks(正常)unet_teacher.down_blocks 但是unet的结构…

神经网络模型流程与卷积神经网络实现

神经网络模型流程 神经网络模型的搭建流程,整理下自己的思路,这个过程不会细分出来,而是主流程。 在这里我主要是把整个流程分为两个主流程,即预训练与推理。预训练过程主要是生成超参数文件与搭设神经网络结构;而推理…

Vue3 pinia的基本使用

pinia的使用跟vuex很像,去除了很多没用的api,写法有两种,一种老式的选项式api还有一种组合式api,用哪种根据自己喜好来,以下示例为组合式api 更多教程参考官网:pinia官网https://pinia.vuejs.org/zh/ 安装…

无线网优AP、SW发现控制器

目录 无线网优解决的问题 1、信号覆盖不足的原因 2、信道繁忙 3、非802.11干扰 4、协商速率低 5、漫游效果差 6、有线带宽阻塞 无线网优方法 交换机发现与激活 一,交换机发现控制器方式 1、二层广播 2、DHCP option43方式 3、DNS域名解析方式 4、trou…

创建vue3数学符号选择器(vue3+elementPlus+ts)

本文包含两种效果: 效果一:数学符号只能选择一次,选中的数学符号高亮 效果二:相同的数学符号可以选择多次,当前选中的数学符号高亮 首先创建math.ts定义常见数学符号数组 : export const symbols [{ id: 1, value: …

Flutter桌面应用程序定义系统托盘Tray

文章目录 概念实现方案1. tray_manager依赖库支持平台实现步骤 2. system_tray依赖库支持平台实现步骤 3. 两种方案对比4. 注意事项5. 话题拓展 概念 系统托盘:系统托盘是一种用户界面元素,通常出现在操作系统的任务栏或桌面顶部。它是一个水平的狭长区…

物联网水表和4G水表的区别有哪些?

随着科技的发展,水表也不再是传统的机械表,而是经过数字化和智能化改造的物联网水表和4G水表。这两种水表具有很多的不同点。那么,物联网水表和4G水表的区别有哪些? 首先,物联网水表和4G水表的通信方式不同。物联网水表…

指针进阶知识超详细讲解(C语言)(中)

前言 苦苦等待,终于迎来了我们的指针讲解第二期,如果有还没有看过上一期的小伙伴,那赶紧点击这个链接学习后再来看这篇博客吧。链接:指针基础知识超详细讲解(C 语言)(上) 如果对学习…

Leetcode1423. 可获得的最大点数

Every day a Leetcode 题目来源:1423. 可获得的最大点数 解法1:前缀和 后缀和 基于贪心的思想,要使得获得的点数最大,每次拿卡牌都应该选点数尽量高的卡牌。 但是拿卡牌有限制,每次行动,只可以从行的…

21、pytest参数化中标记单独的测试用例

官方实例 # content of test_expectation_xfail import pytestpytest.mark.parametrize("test_input, expected",[("35",8),("24",6),pytest.param("6*9",42,markspytest.mark.xfail)], ) def test_eval(test_input, expected):asser…

Linux基本指令(2.0)

周边知识: 1.Linux中, 一切皆文件 构建大文件 输入如下shell命令 i1; while [ $i -le 10000]; do echo "hello Linux $i"; let i; done 此时大文件已经创建在big.txt 此时我们发现cat查看无法查看开始内容 我们使用more 当占满一屏之后就不…

JavaScript <md5加密的两种不同输出结果分析>--案例(二点一)

前言: 问题是这样的,在浏览器中看到这段代码 然后在控制台进行输出.得到: 紧接着,就在,js文件里面进行转译: 可是,得到的结果是: 这是问题!!! 正题: 为什么相同的js代码,在 .js 文件中的输出与 Chrome 控制台中的输出不一样? 环境差异:不同的JavaScript环境&…

STM32F1中断NVIC

目录 1. 中断系统 2. 中断向量表 3. NVIC基本结构 4. NVIC优先级分组 5. NVIC程序编写 5.1 中断分组 5.2 中断结构体变量 5.3 中断通道选择 5.4 抢占优先级和响应优先级配置 6. 中断程序执行 1. 中断系统 中断:在主程序运行过程中&#xff0…