gpt4 book ai didi

javascript - 将 javascript 库转换为 AMD

转载 作者:行者123 更新时间:2023-11-30 08:42:52 28 4
gpt4 key购买 nike

我正在尝试使用库 -- Google's libphonenumber -- 在我的非 AMD 需求应用程序中。什么是最好的消费方式?我知道我可以创建这样的模块:

define(['module'], function (module) {
// insert and return library code here.
});

但这似乎不太好。似乎我必须重构他们的一些代码才能使其正常工作(例如,将其全部转换为一个对象并返回该对象)。我看到很多库使用不同的模式,它们使用立即调用的函数定义窗口对象上的模块并返回它。

(function() {

var phoneformat = {};

window.phoneformat = phoneformat;

if (typeof window.define === "function" && window.define.amd) {
window.define("phoneformat", [], function() {
return window.phoneformat;
});
}

})();

**更新**有什么理由不这样做吗?

define(['lib/phoneformatter'], function(phoneformatter) {

});

我可以访问我的所有方法,但现在它们似乎是全局的,因为我没有将库包装在定义...

最佳答案

使用 RequireJS 的 shim .它看起来像这样

requirejs.config({
shim: {
'libphonenumber': {
exports: 'libphonenumber' // Might not apply for this library
}
}
});

这将加载 libphonenumber 并将其变量放在全局范围内

关于javascript - 将 javascript 库转换为 AMD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24493554/

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