有没有一种方法可以自动测试JavaScript模块是否与CommonJS(Node)或AMD模块格式兼容?此外,如何将其编写为Grunt任务?
兼容性是模块的一个重要特性,应该能够在某种程度上自动测试。例如,建筑配置的更改可能会产生兼容性错误,而单元测试仅使用模块的浏览器界面,例如QUnit,无法注意到这种情况。还可能存在一种可能性,即模块的兼容性启用代码(例如自制的UMD包装器)非常混乱,以至于很难说代码中的其他更改是否会对兼容性部分产生影响。
可以使用生成不同模块格式的可能正确包装器的工具。例如,grunt-umd和uRequire就是这样的工具。但是,由于它们也依赖于构建配置,因此如何确保兼容性真的存在而无需进行任何测试呢?
兼容性是模块的一个重要特性,应该能够在某种程度上自动测试。例如,建筑配置的更改可能会产生兼容性错误,而单元测试仅使用模块的浏览器界面,例如QUnit,无法注意到这种情况。还可能存在一种可能性,即模块的兼容性启用代码(例如自制的UMD包装器)非常混乱,以至于很难说代码中的其他更改是否会对兼容性部分产生影响。
可以使用生成不同模块格式的可能正确包装器的工具。例如,grunt-umd和uRequire就是这样的工具。但是,由于它们也依赖于构建配置,因此如何确保兼容性真的存在而无需进行任何测试呢?