gpt4 book ai didi

javascript - Browserify shim 似乎没有将 Tether 附加到窗口对象

转载 作者:行者123 更新时间:2023-11-29 21:29:21 25 4
gpt4 key购买 nike

我的 package.json 文件中有以下内容:

"browserify": {
"transform": [
"browserify-shim"
]
},
"browser": {
"jquery": "./node_modules/jquery/dist/jquery.js",
"tether": "./node_modules/tether/dist/tether.js"
},
"browserify-shim": {
"jquery": "$",
"tether": "Tether"
}

然后在我的一个 JS 模块中:

const $ = require('jquery');
const Tether = require('tether');

然后我在浏览器中收到以下错误:

tether.min.js:1 Uncaught TypeError: Cannot set property 'Tether' of undefined

但是,如果我不尝试填充 Tether,而只是在需要它的模块中使用 window.Tether,它就可以正常工作。

const $ = require('jquery');
window.Tether = require('tether');

有谁知道为什么 browserify-shim 不能以这种方式用于 Tether?

最佳答案

你是对的 - 你需要从你的包中手动指定 window 对象。

我不是 100% 确定,但我的理解是 this part of the documentation ,当它说

x exports window.$

实际上意味着 $ 作为 $ 可用于所有模块 bundle - 这并不意味着 window 你的 webapp 的对象。

例如参见 this issue .

问题出在文档的那部分,人们似乎认为对象应该是 window 的一部分 - 更改其措辞可能是个好主意。

关于javascript - Browserify shim 似乎没有将 Tether 附加到窗口对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36793438/

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