用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) // 直接使用就行
}
}