vue+typeScript 中 webpack.ProvidePlugin的使用

用vue+ts写新项目,想偷懒,少写一些代码,研究了一下providePlugin,之前写js的有用到,但是在ts里面用还是有些区别的,特意在这里记录一下。有疑问的朋友可以留言,共同学习进步。
webpack.providePlugin官方文档介绍
vue.config.js 文件配置项

const webpack = require('webpack')
const path = require('path')
module.exports = {
    configureWebpack: config => {
      if (process.env.NODE_ENV === 'production') {} else {} // 判断身产环境和开发环境
      config.plugins = [
        ...config.plugins,
        new webpack.ProvidePlugin({
          globalUtil: path.resolve(path.join(__dirname, 'src/lib/util.ts')),
        })
      ]
    }
}

单页面使用参考文档

//注意这里一定要声明globalUtil,不然程序运行没问题,终端一直报错Cannot find name 'globalUtil'
// js中直接使用,不用声明,因为ts中没有发现找到'_'模块的引入,但是默认会以any类型引入
declare var globalUtil:any; 
export default class Users extends Vue{
	mounted() {
	  this.roleArr = globalUtil.getRoleBtnByRoleName(this,this.$route.meta.roleName) // 直接使用就行
	}
}

你可能感兴趣的:(vue.js,webpack,typescript)