15、webpack DefinePlugin环境变量定义

  • 时间:2019-08-22 03:09 作者:圆梦人生 来源:圆梦人生 阅读:713
  • 扫一扫,手机访问
摘要:webpack中提供了DefinePlugin插件,可以设置环境变量注意:定义的值 ''是变量的定义,不是字符串1、使用plugins: [ new webpack.DefinePlugin({ DEV: JSON.stringify('development'), // productio

webpack中提供了DefinePlugin插件,可以设置环境变量
注意:定义的值 ''是变量的定义,不是字符串

  • 1、使用
plugins: [  new webpack.DefinePlugin({    DEV: JSON.stringify('development'), // production    flag: 'true',    calc: '1 + 1'  })]

index.js

// DefinePlugin定义值console.log(DEV);    // developmentconsole.log(flag);      // trueconsole.log(calc);      // 2// console.log(process); 

webpack.config.js 完整配置

//  webpack是node写出来的, 需要node的写法let path = require('path');// path.resolve 相对路径转成绝对路径// console.log(path.resolve('dist'));// 以当前目录// console.log(__dirname);// html-webpack-plugins 插件let HtmlWebpackPlugins = require('html-webpack-plugin');//let MiniCssExtractPlugin = require('mini-css-extract-plugin');//let webpack = require('webpack');// webpack相关配置module.exports = {    // 开发服务的配置    devServer: {        // 端口,默认8080        port: '8099',        // 进度条        progress: true,        // 启动后访问目录,默认是项目根目录,这个设置到打包后目录        contentBase: './build'    },    // 模式,2种:生产模式(production)和开发模式(development)    // 开发模式不压缩打包后代码,生产模式压缩打包后代码    mode: 'production',    // 1、source-map:产生文件,产生行列    // devtool: 'source-map',    // 2、eval-source-map:不产生文件,产生行类    //devtool: 'eval-source-map',    // 3、cheap-source-map:产生文件,不产生列    //devtool: 'cheap-module-source-map',    // 4、cheap-module-eval-source-map:不产生文件,不产生列    //devtool: 'cheap-module-eval-source-map',    // 监听    // watch: true,    // watchOptions: {    //     poll: 1000, // 每秒讯问多少次    //     aggregateTimeout: 500,  //防抖 多少毫秒后再次触发    //     ignored: /node_modules/ //忽略时时监听    // },    // 入口,表示从哪里开始打包    entry: {        home: './src/index.js'    },     // 表示出口(输出后文件相关配置)    output: {           // 打包后的文件名 多入口根据入口名称生成        filename: 'build.js',          // 输出后的路径(必需是一个绝对路径)        path: path.resolve(__dirname, 'dist')    },    // 插件配置    plugins: [        new HtmlWebpackPlugins({            // 模板位置            template: 'index.html',            // 文件名            filename: 'index.html'        }),        // 抽离css为单独文件        new MiniCssExtractPlugin({            filename: 'main.css'        }),        // 环境区分        new webpack.DefinePlugin({            DEV: JSON.stringify('development'), // production            flag: 'true',            calc: '1 + 1'        })    ],    //    resolve: {        // 解析三方库文件        //modules: [ path.resolve('node_modules') ],        // 扩展名        extensions: ['.js', '.css', '.json', '.vue'],        // 定义路径别名        alias: {            '@': path.resolve('src')        }    },    module: {        // loader        rules: [            {                test: /\.css$/, //匹配css文件                use: [ MiniCssExtractPlugin.loader, 'css-loader']            },            {                test: /\.less$/, //匹配less文件                use: [ MiniCssExtractPlugin.loader, 'css-loader', 'less-loader']            },            {                test: /\.js$/, //匹配js文件                use: {                    loader: 'babel-loader',                    options: {                        presets: [                            '@babel/preset-env'                        ]                    }                }            }        ]     }}
  • 全部评论(0)
最新发布的资讯信息
【系统环境|】Fortigate飞塔防火墙如何开启DNS转发/DNS代理(2025-10-14 23:58)
【系统环境|】有了它,再也不用担心电脑弹窗广告和病毒啦!(2025-10-14 23:57)
【系统环境|】如何关闭恼人的电脑弹窗广告?2招搞定(2025-10-14 23:55)
【系统环境|】实用软件推荐:电脑广告弹窗多?用他,都给你屏蔽掉!(2025-10-14 23:55)
【系统环境|】Nginx篇01——基本安装配置和静态页面设置(2025-10-14 23:54)
【系统环境|】Linux端口开放,查看,删除,防火墙(2025-10-14 23:53)
【系统环境|】安全HTTP头部配置: 基于CSP与HSTS的Web安全策略(2025-10-14 23:52)
【系统环境|】老K:做私域过1000万的赛道全部都聚焦在女性身上!(2025-10-14 23:51)
【系统环境|】JavaScript跨域问题: 如何解决跨域访问和资源共享的安全策略(2025-10-14 23:51)
【系统环境|】家庭七级财务防火墙(2025-10-14 23:50)
手机二维码手机访问领取大礼包
返回顶部