我正在使用 curl
或 require
(评估两者)异步加载 js 文件。我在原型(prototype)制作应用程序中使用了 5 个 js 文件:
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
有
if module? && module.exports?
module.exports = Foo
最后。
我如何查看 js 文件并说“是的,AMD”或“否,不是 AMD”?
最佳答案
寻找 AMD 的 define(
签名。这是一个相当肯定的赌注。不幸的是,它几乎可以在文件中的任何地方。它通常在顶部或底部。AMD 模块有多种变体,UMD 模块格式也有多种:https://github.com/umdjs/umd 和 https://gist.github.com/unscriptable/4118495。
此外,您也可以将原始 CommonJS 模块与 curl.js 一起使用。您必须将 CJS 模块放入一个文件夹中,并告诉 curl 这是一个使用 CJS 模块的包:
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。
关于javascript - 如何确定 JS 文件是否与 AMD 兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14526949/