当前位置: 首页 > 知识库问答 >
问题:

javascript - webpack怎么实现使用不同命令打包执行不同打包策略?

闻人升
2024-02-06

webpack怎么实现使用不同命令打包执行不同打包策略

比如:
在测试服务器上想要打不取消source-map的包,而在上传正式服务器上时执行取消soure-map的打包

有没有大佬知道?

共有2个答案

花高爽
2024-02-06

就是判断一下当前的 process.env.NODE_ENV 如果你在测试环境编译的是非生产环境配置的话。

module.exports = {  ...  devtool: process.env.NODE_ENV === 'production' ? 'none' : 'source-map',}

如果是VueCLI默认非生产环境就是开启 sourceMap 的,npm run build 的时候使用 --mode 指定一下环境模式就好了。

蒙峰
2024-02-06

Webpack 可以通过配置不同的命令来执行不同的打包策略。你可以在命令行参数中传递不同的配置文件,或者使用不同的环境变量来调整打包行为。

下面是一个示例,展示了如何使用不同的命令和环境变量来实现不同的打包策略:

  1. 在你的 webpack 配置文件(通常是 webpack.config.js)中,定义两个不同的配置对象,一个用于生产环境,一个用于开发环境:
const path = require('path');module.exports = {  // 开发环境配置  dev: {    entry: './src/index.js',    output: {      path: path.resolve(__dirname, 'dist'),      filename: 'bundle.js',    },    devtool: 'source-map', // 启用 source-map  },    // 生产环境配置  prod: {    entry: './src/index.js',    output: {      path: path.resolve(__dirname, 'dist'),      filename: 'bundle.min.js',    },    devtool: 'none', // 取消 source-map  },};
  1. 在命令行中使用不同的参数来选择配置文件:

生产环境:webpack --config webpack.config.prod.js
开发环境:webpack --config webpack.config.dev.js

  1. 你还可以使用环境变量来动态切换配置。在命令行中设置环境变量,然后在配置文件中使用该环境变量来选择相应的配置:

设置环境变量:export NODE_ENV=productionexport NODE_ENV=development

在配置文件中使用环境变量:

const mode = process.env.NODE_ENV === 'production' ? 'prod' : 'dev';module.exports = require('./webpack.' + mode + '.js');

然后你可以使用以下命令来执行打包:

生产环境:webpack (默认使用生产环境的配置)
开发环境:webpack --env development (通过设置环境变量来选择开发环境的配置)

 类似资料:
  • vue项目打包,怎么实现不同环境配置不同的配置呢? 例如: 打包命令 npm run xxxx 可以进入‘xxx’处配置,执行自定义配置

  • 本文向大家介绍webpack打包文件太大怎么办?相关面试题,主要包含被问及webpack打包文件太大怎么办?时的应答技巧和注意事项,需要的朋友参考一下 webpack把我们所有的文件都打包成一个JS文件,这样即使你是小项目,打包后的文件也 会非常大。可以从去除不必要的插件,提取第三方库,代码压缩,代码分割,设置缓存几个 方面着手优化。 详细参见:http://www.jianshu.com/p/a

  • 本文向大家介绍Java命令行下Jar包打包小结,包括了Java命令行下Jar包打包小结的使用技巧和注意事项,需要的朋友参考一下 jar包打包实现 jar包打包可以使用jar指令实现打包,在命令行中输入jar可以查看jar指令的内容 从最后显示的两个示例看出存在两种打包的方法,两者的区别就是是否使用自己定义的MANIFEST清单文件。第一个示例没有使用MANIFEST文件进行打包,所以最终生成的ja

  • 本文向大家介绍webpack打包vue速度太慢怎么办?相关面试题,主要包含被问及webpack打包vue速度太慢怎么办?时的应答技巧和注意事项,需要的朋友参考一下 https://www.cnblogs.com/imwtr/p/9189670.html

  • 本文向大家介绍React根据不同的环境打包不同的域名?相关面试题,主要包含被问及React根据不同的环境打包不同的域名?时的应答技巧和注意事项,需要的朋友参考一下 如果是CRA的项目的话,可以使用 文件来区分不同的环境; 比如生产环境域名,开发环境域名, 则可以分别设置和, 然后在程序中使用来获取基础路径,此时打包的时候会根据不同的环境打包不同的域名

  • "webpack-obfuscator": "2.6.0" 更新到生产环境发现有一个页面打不开,我排除掉node_modules,但是好像不生效,不知道什么原因。 有问题的页面用到了tinymce和moment 怎么解决?