gpt4 book ai didi

webpack - ES6 和窗口/全局变量

转载 作者:行者123 更新时间:2023-12-04 11:50:59 24 4
gpt4 key购买 nike

我正在使用 es6 模块。在其中一些我使用 lodash。我的问题是 - 是否可以将 lodash 作为全局变量加载,还是应该单独导入所有文件?我在我的初始化程序中试过这个:

import lodash from 'lodash';
window._ = lodash;

也是这样:
window._ = require('lodash');

但它不起作用。在我的模块中,我在使用时遇到错误,例如 _.truncate:

TypeError: Cannot read property 'truncate' of undefined

最佳答案

有 3 种方法可以让您看到您正在使用 webpack。

  • window对象仍然可用。就像您的示例一样,您需要确保首先加载初始化程序,然后您可以像这样做一样将下划线附加到 window 对象,然后在您的模块中您可以将其用作 window._.truncate .您可以看到这里的缺点是:1) 存在加载顺序依赖性。 2) 依赖于 window 对象。 3)用法不好。
  • 您可以导入 underscore直接用于所需的模块。
  • 使用 webpack,你可以通过定义插件 https://webpack.js.org/plugins/define-plugin/ 来定义全局变量然后在每个模块中你都可以使用 _.truncate随意。

  • 如果您只是偶尔需要该模块,#2 是最佳选择。如果您希望经常使用它,那么#3 会更方便。 #1 总是很难看,但在极少数情况下,这种解决方法可能会有所帮助,尽管您的情况显然不是。

    关于webpack - ES6 和窗口/全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43007188/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com