#120·umd

是否应从 CommonJS 开始,而不是从 AMD 开始?

作者: julkue创建于 2017年8月25日更新于 2017年11月24日

我的一个插件 – mark.js – 在 CommonJS 环境中需要名为 mark.js,而在 RequireJS 环境中需要名为 markjs,这是因为如果不这样做,则 RequireJS 会尝试直接加载名为 mark.js 的文件,而不是在依赖路径中指定的插件 (一个正常路径命名示例)。由于 Webpack 等工具同时支持 AMD 和 CommonJS,因此更安全的做法是在 AMD 语句之前命名 CommonJS 语句。否则,它将使用 AMD 语句,在我的上述示例中为 markjs,而 markjs 对于 CommonJS 环境是无效的(因为 node 模块名为 mark.js)。我想这对于以 .js 结尾的 JavaScript 模块是一种常见的做法。