vue(typescript)全局引入lodash

本文详细介绍如何在项目中全局引入lodash库,避免在每个Vue组件中重复导入,通过Webpack的ProvidePlugin实现,同时解决TypeScript环境下可能遇到的问题。

全局引入lodash  ProvidePluginWebpack用来自动加载模块的方法,全局使用方式可以避免每个vue组件中都import lodash

npm i  lodash --s // 安装lodash

1、webpack.base.conf.js

module.exports = {

context: path.resolve(__dirname, '../'),

entry: {

app: './src/main.js',

login: './src/login.js',

vendor: 'lodash', // 多个页面所需的公共库文件,防止重复打包带入

},

.........

在webpack.dev.conf.js文件中的plugins增加(有试过直接在webpack.base.conf.js中添加,但是加完之后就报错了):

//全局引入lodash ProvidePlugin是webpack的内置模块,使用ProvidePlugin加载的模块在使用时将不再需要import和require进行引入

new webpack.ProvidePlugin({

_: 'lodash'

})

 

若是使用js那么按以上配置就可以全局使用了,若使用的是typescript,则还要继续配置

在src目录下的shims-vue.d.ts中添加

import * as lodash from 'lodash';

declare global { // 全局变量设置

     const _: typeof lodash

}

若不加上面的配置会报错:

TS2686: '_' refers to a UMD global, but the current file is a module. Consider adding an import instead.

至于shims-vue.d.ts是啥,使用了ts就造了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值