首页 > 其他分享 >webpack处理环境变量

webpack处理环境变量

时间:2023-04-16 18:33:35浏览次数:39  
标签:NODE env 处理 cross webpack ENV 环境变量

1、问题:

布置一个koa上传文件服务时,在线上报错,但是本地运行没问题

2、思路:

经检查是路径问题,项目上传服务器的时候经过webpack打包后,文件的上传的路径出现变化,这时需要本地和线上配置不同的路径,也就是说需要布置环境development和production

3、解决:

设置环境变量,需要用到cross-env插件,因为不同端配置的环境变量不同,cross-env可以提供兼容性

npm install --save-dev cross-env

然后配置package.json的scripts参数

{
...
  "scripts": {
    "server": "node index.js",
    "dev": "cross-env NODE_ENV=development node index.js ",
    "build": "cross-env NODE_ENV=production npx webpack --config webpack.config.js"
  },
...
}

有了环境变量还需要一个DefinePlugin插件,这个是干嘛用的呢,就是打包的时候根据环境变量的不同,只打包需要的代码,比如说说if(){}esle{},只打包if的或者else的内容

在webpack.config.js设置

{
...
    plugins: [
        new webpack.DefinePlugin({
            'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
        }),
    ],
...
}

配置业务路径,并使用

let publicUrl
if (process.env.NODE_ENV == 'production') {
    publicUrl = './public/uploads'
} else {
    publicUrl = path.resolve(__dirname, '../../public/uploads')
}

 

标签:NODE,env,处理,cross,webpack,ENV,环境变量
From: https://www.cnblogs.com/lovewhatIlove/p/17316952.html

相关文章

  • 【批处理】powershell RMDIR删除文件夹及文件报错,Remove-Item: A positional paramet
    1、场景  由于测试导致的缓存文件较多,需要删除,手动删除太慢,所以直接用命令删除 2、报错备注:没装powershell的电脑可以用的  3、处理方法cmd--%/cRMDIR/Q/SC:\Users\ADMINI~1\AppData\Local\Temp参数解释:--%,停止解析符号,告诉PowerShell停止解析其余参数,并......
  • Java JDBC批处理添加出现问题,求解决方案
    晚辈使用JDBC批处理时出现一个问题,使用addBatch()方法将记录加入批处理中,我想让这五千条记录每达到一千条记录再执行,以此提高效率,可最后执行在数据库查看时仅五条记录,我尝试将 preparedStatement.executeUpdate();提出if语句,虽然是有五千条记录,但效率相当的慢请求前辈们给出解决......
  • 高通量测序的数据处理与分析指北(二)-宏基因组篇
    宏基因组篇前言之前的一篇文章已经从生物实验的角度讲述了高通量测序的原理,这篇文章旨在介绍宏基因组二代测序数据的处理方式及其原理。在正文开始之前,我们先来认识一下什么是宏基因组。以我的理解,宏基因组就是某环境中所有生物的基因组的合集,这个环境可以是下水道,河流等自然环......
  • 使用stanza完成自然语言分析处理任务
    安装stanza直接使用pip命令即可安装stanzapackagepipinstallstanza构建管道stanza中的管道用于构建NLP任务的模型加载序列、文本处理序列。需要注意,当本地不存在指定的Processor模型时,Pipeline对象会执行一个自动下载程序,将模型下载到本地。Pipeline的初始化示例import......
  • JavaScript中 处理异步的几种方法
    1.回调函数回调(callback)是一个函数被作为一个参数传递到另一个函数里,在那个函数执行完后再执行。假定有两个函数f1和f2,f2等待f1的执行结果,f1()–>f2();如果f1很耗时,可以改写f1,把f2(箭头函数)写成f1的回调函数:functionf1(callback){setTimeout(()=>{letname='小明'......
  • 环境变量概念详解!(4千字长文)
    环境变量!环境变量我们是否可以认为我们平时写的程序是一个指令呢?可以的!其实我们平时写的程序和我们在linux下执行的指令是同一个东西!都是可执行程序!那为什么我们执行的时候,需要用到./xxx这样来执行我们的程序,但是使用系统里面的指令就只要输入就可以呢?我们从报错我们就可......
  • 基于 RocketMQ Connect 构建数据流转处理平台
    作者:周波,阿里云智能高级开发工程师,ApacheRocketMQCommitter01从问题中来的RocketMQ Connect在电商系统、金融系统及物流系统,我们经常可以看到RocketMQ的身影。原因不难理解,随着数字化转型范围的扩大及进程的加快,业务系统的数据也在每日暴增,此时为了保证系统的稳定运行,就需......
  • 基于 RocketMQ Connect 构建数据流转处理平台
    作者:周波,阿里云智能高级开发工程师,ApacheRocketMQCommitter01从问题中来的RocketMQ Connect在电商系统、金融系统及物流系统,我们经常可以看到RocketMQ的身影。原因不难理解,随着数字化转型范围的扩大及进程的加快,业务系统的数据也在每日暴增,此时为了保证系统的稳定运行,就......
  • centos7 PATH 环境变量设置
    https://blog.csdn.net/qq_39715000/article/details/1250231901、系统环境变量系统环境变量对全部的用户生效,设置系统环境变量有三种方法。1)在/etc/profile文件中设置。用户登录时执行/etc/profile文件中设置系统的环境变量。但是,Linux不建议在/etc/profile文件中设置系统环......
  • 一般处理程序的局限性
    今天做了一个Demo,想深入理解ASP.NET里面的一般处理程序的概念、作用和局限性。我就用HTML加一般处理程序,实现一个前后台的交互,做了一个简单的计算功能,来证明它的局限性。需要输出和原来的HTML页面一样样式界面。我从浏览器copy出HTML源码,又给它换行什么,操作过程中,我的感受是太......