webpack.ProvidePlugin or typescript配置问题

想使用webpack.ProvidePlugin全局使用lodash:

webpack中plugin配置

  new webpack.ProvidePlugin({
    _: "lodash"
  })

在ts中使用

_.toUpper("hello")

webpack打包结果

ERROR in ./src/utils.ts
(9,10): error TS2686: '_' refers to a UMD global, but the current file is a module. Consider adding an import instead.

看错误的提示,需要我手动引用模块。但是实际上打包结果跑着的是OK的,求解。

阅读 7.5k
1 个回答

首先结果可以是因为在webpack.config.js中配置了,lodash会被打包至项目:

  vendor: [
    "lodash"
  ]

上述的错误原因是由于ts中没有发现找到'_'模块的引入,但是默认会以any类型引入,所以加上:

declare var _:any;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏