我正在尝试将一个角度应用程序从gulp转换为webpack.在gulp我使用gulp-preprocess来替换html页面中的一些变量(例如数据库名称),具体取决于NODE_ENV.使用webpack实现类似结果的最佳方法是什么?
我有一个.env包含该NODE_ENV变量的文件。默认情况下,它设置为development。当使用 webpack 构建 React 应用程序时,我启动命令yarn build:
"scripts": {
"start": "NODE_ENV=development webpack serve --open --hot",
"build": "NODE_ENV=production && webpack",
}
Run Code Online (Sandbox Code Playgroud)
该.env文件是:
NODE_ENV = "development"
Run Code Online (Sandbox Code Playgroud)
但是当NODE_ENV在我的 webpack 配置文件中记录该值时,我可以看到它仍然在development. 构建也没有缩小。但是当我写入production文件时.env,一切正常。
webpack 配置为:
/* eslint-env node */
const path = require("path");
const TerserPlugin = require("terser-webpack-plugin");
const Dotenv = require("dotenv-webpack");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
const isProductionMode = (mode) => mode === "production";
module.exports …Run Code Online (Sandbox Code Playgroud)