使用requirejs编译javascript程序以删除require依赖项
我已经使用requirejs编写了一个JavaScript应用程序来处理依赖注入。我已经编译了该文件,但在将其作为脚本包含时,出现了一个明显的错误: 未捕获引用错误:未定义定义 如果开发人员决定不使用AMD加载程序,我希望我的JavaScript应用程序不要依赖AMD加载程序。然而,由于应用程序的复杂性,我想用它来处理我的应用程序的依赖关系使用requirejs编译javascript程序以删除require依赖项,javascript,requirejs,gruntjs,Javascript,Requirejs,Gruntjs,我已经使用requirejs编写了一个JavaScript应用程序来处理依赖注入。我已经编译了该文件,但在将其作为脚本包含时,出现了一个明显的错误: 未捕获引用错误:未定义定义 如果开发人员决定不使用AMD加载程序,我希望我的JavaScript应用程序不要依赖AMD加载程序。然而,由于应用程序的复杂性,我想用它来处理我的应用程序的依赖关系 是否有编译器可以编译JavaScript以删除AMD依赖项?我在Grunt周围看到了一些嗡嗡声,但对于这是否是Grunt的一个功能,还没有找到任何直接的答案
是否有编译器可以编译JavaScript以删除AMD依赖项?我在Grunt周围看到了一些嗡嗡声,但对于这是否是Grunt的一个功能,还没有找到任何直接的答案。您不能完全删除require/define依赖项,但可以用一个小得多的垫片替换它,它不会带来任何显著的性能损失。请参阅《优化指南》的一节: 如果您正在构建一个用于可能不使用RequireJS或AMD加载程序的网页的库,那么您可以使用优化器将所有模块合并到一个文件中,然后将它们封装在一个函数中并使用AMD API垫片。这允许您发布并非随所有RequireJS一起发布的代码,并允许您导出任何类型的API,这些API在没有AMD加载程序的普通网页上工作 是一个非常小的AMD API垫片,因此当您的所有模块都使用RequireJS优化器构建到一个文件中时,可以使用它来代替require.js。wrap build config选项将在代码周围放置一个函数包装器,或者如果需要执行额外的逻辑,您可以提供自己的包装器