对cross-env的理解

Posted smart-girl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对cross-env的理解相关的知识,希望对你有一定的参考价值。

1、什么是cross-env?
它是运行跨平台设置和使用环境变量(Node中的环境变量)的脚本。
2、为什么需要cross-env?
我们在自定义配置环境变量的时候,由于在不同的环境下,配置方式也是不同的。例如在window和linux下配置环境变量。
2.1、在window下配置

#node中常用的到的环境变量是NODE_ENV,首先查看是否存在 
set NODE_ENV 

#如果不存在则添加环境变量 
set NODE_ENV=production 

#环境变量追加值 set 变量名=%变量名%;变量内容 
set path=%path%;C:web;C:Tools 

#某些时候需要删除环境变量 
set NODE_ENV=

2.2、在linux下配置

#node中常用的到的环境变量是NODE_ENV,首先查看是否存在
echo $NODE_ENV

#如果不存在则添加环境变量
export NODE_ENV=production

#环境变量追加值
export path=$path:/home/download:/usr/local/

#某些时候需要删除环境变量
unset NODE_ENV

#某些时候需要显示所有的环境变量
env

3、cross-env的作用是什么?
当我们使用 NODE_ENV = production 来设置环境变量的时候,大多数windows命令会提示将会阻塞或者异常,或者,windows不支持NODE_ENV=development的这样的设置方式,会报错。因此 cross-env 出现了。我们就可以使用 cross-env命令,这样我们就不必担心平台设置或使用环境变量了。也就是说 cross-env 能够提供一个设置环境变量的scripts,这样我们就能够以unix方式设置环境变量,然而在windows上也能够兼容的。
4、如何在项目中使用cross-env?

npm install --save-dev cross-env

然后在package.json中的scripts命令如下如下:

"scripts": {
  "dev": "cross-env NODE_ENV=development webpack-dev-server --progress --colors --devtool cheap-module-eval-source-map --hot --inline",
  "build": "cross-env NODE_ENV=production webpack --progress --colors --devtool cheap-module-source-map",
}

或者

{
  "scripts": {
    "build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"
  }
}

本文学习自:https://blog.csdn.net/Mweb_demo/article/details/100896360

以上是关于对cross-env的理解的主要内容,如果未能解决你的问题,请参考以下文章

Laravel5.5执行 npm run dev时报错,提示cross-env找不到(not found)的解决办法

金蝶handler中 collection 代码片段理解

调用模板化成员函数:帮助我理解另一个 *** 帖子中的代码片段

sh: 1: cross-env: laravel mix 的权限被拒绝

cross-env 使用方式

cross-env使用笔记