我正在尝试使用Require.js制作外部库。感谢Require.js无法正确编译单个js文件和Require.js(almond.js)时间不准确,我已经知道如何将所有内容“编译”为一个单一的优化/构建文件,并且该单一的文件可用。只有一个问题:我不知道如何为我的库设置变量。
假设我想让我的库创建
如您所见,我试图通过在 require 调用内部显式设置 window.Foo 和通过结束片段的返回值来显式设置它来将 Foo 暴露给全局空间。但两者都不起作用;如果我在加载构建文件后添加一个 console.log(window.foo),它会告诉我 window.Foo 未定义。
如果我使用 window.setTimeout,最终会设置 window.Foo(为 {someValue: 1}),但我不能指望用户必须用定时器包装所有代码。请问有谁能解释一下如何在我的优化/构建文件加载后立即定义 window.Foo?
假设我想让我的库创建
window.Foo
。我尝试使用包含以下内容的main.js
文件:window.Foo = require([], function() {
window.Foo = {someValue: 1};
return {someValue: 2};
});
并且包装器的结尾片段为:
return require('main');
}));
如您所见,我试图通过在 require 调用内部显式设置 window.Foo 和通过结束片段的返回值来显式设置它来将 Foo 暴露给全局空间。但两者都不起作用;如果我在加载构建文件后添加一个 console.log(window.foo),它会告诉我 window.Foo 未定义。
如果我使用 window.setTimeout,最终会设置 window.Foo(为 {someValue: 1}),但我不能指望用户必须用定时器包装所有代码。请问有谁能解释一下如何在我的优化/构建文件加载后立即定义 window.Foo?