首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何判断JS文件是否兼容AMD?

问如何判断JS文件是否兼容AMD?
EN

Stack Overflow用户
提问于 2013-01-26 01:15:25
回答 2查看 768关注 0票数 2

我使用curl或require (评估两者)来异步加载js文件。我在我的原型应用中使用了5个js文件:

代码语言:javascript
复制
jquery.min.js // off of CDN
Bacon.js // reactive programming tool
curl.js  // js loader
index.coffee // page specific
foo.coffee // app specific

好的,我构建了index.coffee和foo.coffee,所以我很确定它们不兼容AMD。但是可能是错误的,因为foo.coffee已经

代码语言:javascript
复制
if module? && module.exports?
  module.exports = Foo

在最后。

如何查看js文件并说‘是,AMD’或‘不,不是AMD'?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-07 04:35:29

寻找AMD的define(签名。这是一个相当确定的赌注。不幸的是,它几乎可以在文件中的任何位置。它通常位于顶部或底部。AMD模块有许多变体,也有几种UMD模块格式:https://github.com/umdjs/umd和https://gist.github.com/unscriptable/4118495。

另外,你也可以在curl.js中使用原始的CommonJS模块。您必须将您的CJS模块放入一个文件夹中,并告诉curl这是一个使用CJS模块的包:

代码语言:javascript
复制
curl.config({
    packages: [
        { name: 'foo', location: 'path/to/foo-folder', main: 'foo',
            config: { moduleLoader: 'curl/loader/cjsm11' }
        },
        { name: 'curl', location: 'path/to/curl/src/curl', main: 'curl' }
    ]
});

您需要curl包(或路径)来告诉curl在哪里可以找到curl/loader/cjsm11。

票数 1
EN

Stack Overflow用户

发布于 2013-01-26 01:29:01

AMD的意思是,你在需要的时候评估代码,而不是在加载的时候。因此,如果你的代码在下载后立即执行,那么它就不是AMD。如果它周围有一个包装器,允许代码按需执行-它可以像AMD模块一样工作。

如果您正在查找exact AMD API,则应在文件开头搜索define word。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14526949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档