导出全局变量,获取项目打包时间等信息

684 阅读1分钟

DefinePlugin 允许在编译时,创建配置的全局常量。webpack文档

直接使用webpack

webpack

// webpack.config.js
const time = new Date().getTime()
module.exports = {
    plugins: [
        new webpack.DefinePlugin({
            BUILD_TIME: JSON.stringify(time)
        })
    ]
}

main.js
/* eslint-disable no-undef */
console.log(BUILD_TIME);

vue-cli

由于我的项目使用的vue-cli(版本: "@vue/cli-service": "^4.1.0"),配置项在vue.config.js中,如下写法可以导出全局变量

// vue.config.js
const time = new Date().getTime()
module.exports = {
    chainWebpack: config => {
        config.plugin("define").tap(args => {
          args[0].BUILD_TIME = JSON.stringify(time);
          return args;
        });
    }
}

index.js
/* eslint-disable no-undef */
console.log(BUILD_TIME);