首页 > 解决方案 > 导出 webpack.config.js 中的全局函数以在 typescript 中使用

问题描述

webpack 的新手。我想导出一个全局函数(类似于通过 webpack.EnvironmentPlugin 导出变量)以在 typescript 中使用

我尝试了类似下面的方法来查看行为。

module.exports = [{
  ...
  ...
  plugins: [
    new webpack.EnvironmentPlugin({
     env_func: function bindObj() {
        console.log("In plugin");
       }
    })
  ]
}]

访问时它给了我一个错误(如下)envFunc = process.env.env_func; envFunc.bindObj()

TypeError:无法读取未定义的属性“bindObj”

有没有办法或任何插件(类似于 EnvironmentPlugin)我可以在 webpack 配置中导出一个可以从 typescript 使用的函数?

标签: javascripttypescriptwebpack

解决方案


webpack.EnvironmentPlugin是一种速记符号,DefinePlugin可用于定义函数。要使 Typescript 编译器接受它,您需要声明函数,例如.d.ts在项目中包含一些文件:

xxx.d.ts
--------
declare function bindObj(): void;
declare function fun1(abc: string): number;

推荐阅读