使用requirejs编译javascript程序以删除require依赖项

compiling javascript program with requirejs to remove require dependency

本文关键字:删除 require 依赖 程序 requirejs 编译 javascript 使用      更新时间:2023-09-26

我已经使用requirejs编写了一个JavaScript应用程序来处理依赖项注入。我已经编译了这个文件,但当把它作为脚本包含时,我得到了明显的错误:

未捕获引用错误:未定义定义

如果开发者决定不使用AMD加载程序,我希望我的JavaScript应用程序不依赖AMD加载程序。然而,由于应用程序的复杂性,我希望使用它来处理我的应用程序的依赖关系。

是否有编译器可以编译JavaScript以消除AMD依赖关系?我看到了一些关于Grunt的传言,但还没有找到任何关于这是否是Grunt的一个功能的直接答案。

您不能完全删除require/define依赖项,但您可以用一个小得多的垫片来替换它,它不会带来任何显著的性能损失。请参阅如何向不依赖RequireJS的其他人提供库?优化指南部分:

如果你正在构建一个库,用于可能不使用RequireJS或AMD加载器的网页,你可以使用优化器将所有模块组合到一个文件中,然后将它们封装在一个函数中,并使用AMD API填充程序。这允许您发送不随所有RequireJS一起发送的代码,并允许您导出任何类型的API,这些API在没有AMD加载器的情况下在普通网页上工作。

杏仁是一个非常小的AMD API填充程序,因此当使用RequireJS优化器将所有模块构建到一个文件中时,可以使用它来代替require.js。wrappe-build-config选项将在代码周围放置一个函数包装器,如果需要执行额外的逻辑,也可以提供自己的包装器。