首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在一个npm脚本中设置环境变量,以后可以在另一个脚本中访问该变量

,可以通过使用cross-env模块来设置环境变量。cross-env是一个跨平台的设置环境变量的工具,可以在不同操作系统上使用。

首先,需要在package.json文件中的scripts部分定义两个脚本,一个用于设置环境变量,另一个用于访问该变量。

代码语言:txt
复制
"scripts": {
  "set-env": "cross-env MY_VARIABLE=my-value",
  "access-env": "node script.js"
}

在上面的示例中,set-env脚本使用cross-env命令设置了一个名为MY_VARIABLE的环境变量,并将其值设置为my-value。access-env脚本使用node命令执行了一个名为script.js的脚本,该脚本可以访问之前设置的环境变量。

接下来,可以在script.js脚本中通过process.env对象来访问之前设置的环境变量。

代码语言:txt
复制
console.log(process.env.MY_VARIABLE);

运行npm run set-env命令来设置环境变量,然后运行npm run access-env命令来访问该变量。在script.js脚本中,可以通过process.env.MY_VARIABLE来获取之前设置的环境变量的值。

这种方法可以用于在不同的npm脚本中共享环境变量,方便在开发过程中进行配置和调试。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Shell 脚本调用另一个 Shell 脚本的三种方式

被调用的脚本与父脚本一个 Shell 内执行。但是使用 exec 调用一个脚本以后, 父脚本 exec 行之后的内容就不会再执行了。...所以被调用的脚本声明的变量环境变量, 都可以脚本中进行获取和使用。 其实从命名上可以感知到其中的细微区别,下面通过两个脚本来体会三种调用方式的不同: 第一个脚本,我们命名为 1.sh: #!...Command Explanation fork 新开一个子 Shell 执行,子 Shell 可以从父 Shell 继承环境变量,但是子 Shell 环境变量不会带回给父 Shell。...exec 一个 Shell 内执行,但是父脚本 exec 行之后的内容就不会再执行了 source 一个 Shell 执行,在被调用的脚本声明的变量环境变量, 都可以脚本中进行获取和使用...参考: shell脚本调用另一个脚本的三种不同方法(fork, exec, source)

4.3K20
  • shell脚本,如何将一个命令存储一个变量

    问题 我想将一个命令保存到一个变量,以便稍后再使用(不是命令的输出,而是命令本身)。...我有一个简单的脚本如下: command="ls"; echo "Command: $command"; #Output is: Command: ls b=`$command`; echo $b;...: No such file or directory ls: cannot access '^': No such file or directory 我如何将这样(带有管道/多个命令)的命令存储变量以供以后使用...回答 对于带有管道或重定向的组合命令最推荐的方式是将其封装到一个函数里,然后需要时直接调用即可。...使用 eval 命令时需要非常小心,因为它可以使得代码可读性较差并且容易引入安全漏洞。朋友们有踩到过 eval 命令的坑吗,可以评论区留言交流一下。

    14810

    macOS下由yarn与npm差异引发的Electron镜像地址读取问题

    仔细对比以后,没有问题。难道因为我的网络访问很慢吗?等到访问超时以后,发现一个IP地址超时了,心想国内镜像再怎么也不应该超时,盲猜镜像地址没有生效。...” “ELECTRON_MIRROR” 环境变量—— 配置 | npm 中文网 (nodejs.cn) 任何以 npm_config_ 开头的环境变量都将被解释为配置参数。...但是,请注意, scripts 内部,npm设置自己的环境变量,并且 Node 会更喜欢那些小写版本,而不是您可能设置的任何大写版本。 详情见此问题。...此外,如果是配置npmrc里面的配置,也会在npm/yarn启动的时候被作为环境变量放到process.env中被访问。...start)来运行脚本yarn运行上下文中,.npmrc的"ELECTRON_MIRROR"直接拼接到了"npm_config_"后边,作为process.env的一个属性,所以你只能访问process.env

    42620

    npx命令的介绍

    npm 从5.2版开始,增加了 npx 命令。它有很多用处,本文介绍命令的主要使用场景。 ? Node 自带 npm 模块,所以可以直接使用 npx 命令。万一不能用,就要手动安装一下。...由于 npx 会检查环境变量$PATH,所以系统命令也可以调用。 # 等同于 ls $ npx ls 注意,Bash 内置的命令不在$PATH里面,所以不能用。.../dist/main.js 上面代码指定使用 3.1.0 版本的uglify-js压缩脚本。 注意,只要 npx 后面的模块无法本地发现,就会下载同名模块。...$ npx -p lolcatjs -p cowsay -c 'cowsay hello | lolcatjs' -c参数的另一个作用,是将环境变量带入所要执行的命令。...举例来说,npm 提供当前项目的一些环境变量可以用下面的命令查看。 $ npm run env | grep npm_ -c参数可以把这些 npm环境变量带入 npx 命令。

    1.1K30

    你应该知道什么是NPX?

    它有很多用处,本文介绍命令的主要使用场景。 Node 自带 npm模块,所以可以直接使用 npx 命令。万一不能用,就要手动安装一下。...由于 npx 会检查环境变量$PATH,所以系统命令也可以调用。 等同于 ls $ npx ls 注意,Bash 内置的命令不在$PATH里面,所以不能用。.../dist/main.js 上面代码指定使用 3.1.0 版本的uglify-js压缩脚本。 注意,只要 npx 后面的模块无法本地发现,就会下载同名模块。...$ npx -p lolcatjs -p cowsay -c 'cowsay hello | lolcatjs' -c参数的另一个作用,是将环境变量带入所要执行的命令。...举例来说,npm 提供当前项目的一些环境变量可以用下面的命令查看。 $ npm run env | grep npm_ -c参数可以把这些 npm环境变量带入 npx 命令。

    1.3K00

    【 Node.js 进阶】你应该知道的 NPM 知识都在这!

    ,但是不可乱用,举个开发过程遇到的坑,有一次想设置运行时的环境变量,当时想优雅一点,就在 prestart 里面设置一个环境变量,但是项目 start 的时候,无法拿到设置环境变量,因为 script...的属性运行的时候都会新启动一个 shell,所以 prestart设置环境变量只对应了那个shell的运行时。...env 环境变量 我们执行 npm run 脚本时候, npm设置一些特殊的env环境变量。其中package.json的所有字段,都会被设置为以npm_package_开头的环境变量。...环境变量常用小技巧 env 命令可以列出所有环境变量 npm run env shell脚本输出环境变量 echo PATH shell 脚本设置环境变量 echo PATH = /usr/local.../lib 有的时候我们需要设置环境变量是相对项目的 再补充一个shell脚本设置环境变量时候如何拼接相对路径 echo PATH = ${pwd}/lib/include //使用${},也可以直接使用双引号

    1.5K10

    如何在Ubuntu 14.04上运行解析服务器

    NodeSource为最新的稳定版本(撰写本文时的v5.5.0)提供了安装脚本可以安装说明中找到。...告诉它保留用户的环境变量以便脚本可以访问它们的-E选项sudo: sudo -E bash ./nodesource_setup.sh 脚本完成后,NodeSource存储库应该在系统上可用。...在这种情况下,Parse Server API调用的端点默认为: http://your_server_IP/parse 另一个终端,您可以使用它curl来测试此端点。...如上所述,可以使用六个环境变量来配置示例脚本变量 描述 DATABASE_URI MongoDB连接URI,如 mongodb://localhost:27017/dev CLOUD_CODE_MAIN...PARSE_MOUNT 应该提供Parse Server API的路径,例如 /parse PORT 应用程序应该监听的端口,例如 1337 您可以使用export命令运行脚本之前设置任何这些值

    3K10

    npm、npx说起,到shell

    今天想从 npm run 命令开始,尽可能的阐述一下整条链~~~ npm script 项目的相关脚本可以集中一个地方(这里指入口) 以利用 npm 提供的很多辅助功能,以及不同项目的脚本命令...每当执行 npm run,就会自动新建一个 Shell,在这个 Shell 里面执行指定的脚本命令。因此,只要是 Shell(一般是 Bash)可以运行的命令,就可以写在 npm 脚本里面。...脚本 shell 运行,取决于平台。...如果将脚本放在环境变量$PATH指定的目录,就不需要指定路径了。因为 Bash 会自动到这些目录,寻找是否存在同名的可执行文件。...:脚本需要在执行过程,由用户提供一部分数据,这时可以使用read命令;它将用户的输入存入一个变量,方便后面的代码使用。

    3.9K20

    持续集成服务 Travis CI 教程

    Node 项目的install和script阶段都有默认脚本可以省略。 install默认值:npm install script默认值:npm test 更多设置请看官方文档。...有些环境变量(比如用户名和密码)不能公开,这时可以通过 Travis 网站,写在每个仓库的设置页里面,Travis 会自动把它们加入环境变量。...这样一来,脚本内部依然可以使用这些环境变量,但是只有管理员才能看到变量的值。具体操作请看官方文档。 ?...然后,脚本里面就可以使用环境变量$SOMEVAR了,Travis 会在运行时自动对它解密。...此外,命令还会生成一个环境变量$encrypted_0a6446eb3ae3_key,保存密钥,储存在 Travis CI,文件解密时需要这个环境变量

    1.4K50

    从源码解析Electron的安装为什么这么慢

    短暂的npm包安装后,我们会发现会卡在一个地方: 这时候,很多开发者就会开始在网络上搜索:‘安装Electron卡住’,并且也很容易得到解决方案: ~/.npmrc文件,单独设置Electron...读到这里,也许有读者疑惑了,我明明是.npmrc文件配置的ELECTRON_MIRROR变量,而这里读取的明明是环境变量里面的值,怎么会有呢?...所以我们跟到该函数: 函数最终会使用上一节的url变量形成一个本地的缓存路径,至于代码的url.format以及filenamify的效果,读者可以自行编写Demo验证。...重写下载的资源版本 所下载的资源的版本可以通过设置``ELECTRON_CUSTOM_VERSION 环境变量来进行覆盖。...若要禁用,请将ELECTRON_GET_NO_PROGRESS 环境变量设置为任何非空值,或设置downloadOptions的quiet为true。

    1.2K20

    持续集成服务 Travis CI 教程

    Node 项目的install和script阶段都有默认脚本可以省略。 install默认值:npm install script默认值:npm test 更多设置请看官方文档。 4.....*" 然后,脚本内部就使用这些变量了。 有些环境变量(比如用户名和密码)不能公开,这时可以通过 Travis 网站,写在每个仓库的设置页里面,Travis 会自动把它们加入环境变量。...这样一来,脚本内部依然可以使用这些环境变量,但是只有管理员才能看到变量的值。具体操作请看官方文档。 ? 2....然后,脚本里面就可以使用环境变量$SOMEVAR了,Travis 会在运行时自动对它解密。...此外,命令还会生成一个环境变量$encrypted_0a6446eb3ae3_key,保存密钥,储存在 Travis CI,文件解密时需要这个环境变量

    1.1K50

    使用travis-ci自动部署github上的项目

    如下图所示,根据需要配置构建信息 添加github的Token到环境变量,用户名,邮箱也可添加进去,这样配置文件中就可以使用了 生成Token见步骤5.注意:配置私密的环境变量时一定要加密,因为会显示日志且能够被他人看到...6. .travis.yml 文件的简单配置 .travis.yml文件的作用就是代码提交的时候travis-ci会根据配置文件执行配置的任务 项目根目录创建(或修改).travis.yml...文件,其中${环境变量}为环境变量travis配置即可 language: node_js # nodejs版本 node_js: - '6' # Travis-CI Caching...自动构建项目 修改完成,并推送到github后,就可以travis-ci.org中看到项目开始构建了(以后每次推送代码到仓库后都将会自动构建项目) ? 构建完成日志 ? 构建完成。...设置可以看到默认已经将gh-pages分支部署到pages,访问https://用户名.github.io/metools/即可预览效果。 ?

    1.2K10

    深入了解Webpack 5

    但是,我们也可以为每种模式介绍一个配置。 package.json ,将启动脚本和构建脚本更改为以下内容: { ......由于每个环境都有一个Webpack配置文件(开发,生产),因此可以为它们定义专用的环境变量。...Webpack环境变量:.ENV 以前,您开始Webpack配置文件定义环境变量。但是,这不是敏感信息的最佳实践。例如,假设您要根据开发或生产环境使用API密钥/秘密(凭证)来访问数据库。...它还放置项目的根目录: NODE_ENV=production 通过使用dotenv- webpack插件,您可以将这些环境变量复制到Webpack配置文件。...脚本如何运行另一个npm脚本,但是具有附加配置(此处是Webpack插件)。

    3.6K30

    环境变量:熟悉的陌生人

    系统环境变量最常见的用途之一是设置一个PATH变量指向一个全局软件包/库,以供系统的所有用户使用。 2. 用户环境变量 用户环境变量是Windows系统本地用户配置文件的变量。...运行时/进程环境变量 运行时环境变量只针对它们关联的运行时或进程。这些变量通常由创建新进程的父进程设置,并伴随系统和用户环境变量。 我们可以使用终端脚本来动态创建和存储这些变量。...运行时变量通常不是永久的,除非通过脚本设置,否则在启动新进程时需要对其进行定义。 Unix系列系统环境变量 与Windows系统不同,Unix系列系统没有三层环境变量类型。...首先:创建一个Node.js项目 首先,确保我们的系统上安装了Node.js。 一旦系统上设置好,我们就可以访问npm。...: npm run start-dev npm run start-prod 这是一个通用的解决方案,我们也可以bash/zsh上使用这些脚本

    15710

    npm模块管理器

    npm scripts 不是简简单单地执行 shell 语句而已,执行之前它会将 node_modules/.bin/ 加入到环境变量 PATH ,所以 npm scripts 可以直接使用那些存在于...的时候还可以访问到一些特殊的环境变量 通过 process.env.npm_package_xxx 可以获得到 package.json 的内容。...更多npm-config信息 还有一个比较特殊的环境变量 process.env.npm_lifecycle_event 执行不同的 npm script 的时候这个值是不同的,比如执行 npm run...build 的时候,这个值为 build,通过判断这个变量,将一个脚本使用在不同的 npm script 。...默认脚本 npm执行某些命令时,会执行一些默认脚本(前提是这些脚本已经设置了)。 prepublish:发布一个模块前执行。 publish, postpublish:发布一个模块后执行。

    1.2K31

    Docker学习——Dockerfile 指令详解(五) 顶

    这个指令很简单,就是设置环境变量而已,无论是后面的其它指令,如 RUN ,还是运行时的应用,都可以直接使用这里定义的环境变量。...定义了环境变量,那么在后续的指令,就可以使用这个环境变量。...所不同的是, ARG 所设置的构建环境的 环境变量将来容器运行时是不会存在这些环境变量的。...此外,早期 Docker 版本还有一个特殊的用处。以前所有容器都运行于默认桥接网络,因此所有容器互相之间都可以直接访问,这样存在一定的安全性问题。...于是有了一个 Docker引擎参数 --icc=false ,当指定参数后,容器间将默认无法互访, 除非互相间使用了 --links 参数的容器才可以互通,并且只有镜像 EXPOSE 所声明的端口才可以访问

    1.5K30
    领券