zoukankan      html  css  js  c++  java
  • npm 中设置环境NODE_ENV变量,判断失败打印process.env.NODE_ENV确实是"development",但是判断process.env.NODE_ENV === "development" 是false

    通过package.json 的scripts脚本 修改NODE_ENV的值来区分开发环境和生产环境。

    "scripts": {
        "build": "set NODE_ENV=production && webpack",
        "dev": "set NODE_ENV=development && webpack-dev-server",
        "test": "echo "Error: no test specified" && exit 1"
      },
    webpack.config.js
    //webpack.config.js
    // 首先引入插件1
    const HtmlWebpackPlugin = require('html-webpack-plugin');
    const isDev = process.env.NODE_ENV === "development"; 
    console.log('process.env.NODE_ENV')
    console.log(process.env.NODE_ENV)
    console.log((process.env.NODE_ENV == "development" ? 'true1' : 'false1'))
    console.log(isDev)
    console.log(123)

    执行 npm run dev

    打印结果

    process.env.NODE_ENV
    development
    false1
    false
    123

    那么问题来了   ~~~   打印出的process.env.NODE_ENV 的值已经是

    development

    但是判断起来依然是false。

    解决办法如下

    1. 修改package.json

    "scripts": {
        "build": "set NODE_ENV=production && webpack",
        "dev": "set NODE_ENV=development&& webpack-dev-server",
        "test": "echo "Error: no test specified" && exit 1"
      },

    因为你的NODE_ENV是【production 】,多了一个空格~~
    1、set NODE_ENV=production&& webpack

    2.

    //webpack.config.js
    // 首先引入插件1
    const HtmlWebpackPlugin = require('html-webpack-plugin');
    const isDev = (process.env.NODE_ENV.trim()) === "development"; 

    再次打印

    process.env.NODE_ENV
    development
    true1
    true
    123
  • 相关阅读:
    堆模板
    二叉树输出
    中序+层次遍历输出前序
    扩展二叉树 (根据特殊的前序遍历建树)
    Leecode no.124 二叉树中的最大路径和
    JVM类加载过程
    Leecode no.208 实现Tire(前缀树)
    Leecode no.300 最长递增子序列
    volatile关键字深入解析 JMM与内存屏障
    Leecode no.200 岛屿数量
  • 原文地址:https://www.cnblogs.com/sugartang/p/12402191.html
Copyright © 2011-2022 走看看